![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/c4ctwO/btsDyOaB7Ex/ebfaFIyKwXGNMVgmRtK4k1/img.jpg)
요청 처리 메서드와 모델 유형 Model 인터페이스를 이용한 메서드 작성 응답 데이터를 저장하는 모델 유형 모델(&뷰) 클래스(객체) 설명 Model 데이터(or 객체) 정보를 저장하는 데 사용합니다. ModelMap 데이터(or 객체) 정보를 저장하는 데 사용합니다. ModelAndView 모델 정보 및 뷰 정보를 저장하는 데 사용합니다. Example05Controller.java package com.springmvc.chap05; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; impor..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/b1uQBS/btsDAwmmquP/7ON2kKxMq4qDIByjL8IKck/img.jpg)
스프링 MVC 애플리케이션의 계층적 구조 웹 애플리케이션의 계층적 구조 계층적 구조 계층적 구조의 구현 과정 도서 쇼핑몰의 계층적 공통 모듈 만들기 도서 쇼핑몰 애플리케이션의 계층적 구조 BookController.java 생성[Controller package 안에 생성] package com.springmvc.controller; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.a..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/Y4h1G/btsDAhoW5wo/iIpeGPsm9Y52atoWyXTaTK/img.jpg)
3. 첫 번째 스프링 MVC 애플리케이션 분석 스프링 MVC의 프로젝트 구조 프로젝트 구조 서블릿 관련 폴더 웹 관련 폴더 프로젝트 실행 과정 환경 설정 파일 살펴보기 : web.xml 네임 스페이스와 스키마 선언 루트 컨텍스트 설정 서블릿 컨텍스트 설정 스프링 MVC 환경 설정 파일 루트 컨텍스트 파일 살펴보기 : root-context.xml 서블릿 컨텍스트 파일 살펴보기 : servlet-context.xml 컨트롤러 매핑 설정하기 정적 리소스 설정하기 뷰 매핑 설정하기 자바 클래스의 빈 객체 설정하기 컨트롤러 : HomeCController.java 뷰 : hello.jsp 메이븐 환경 설정 파일 : pom.xml 프로젝트 정보 : 속성 정보 : 의존성 라이브러리 정보 : 빌드 정보 :
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cxMSqD/btsDuxSE4dJ/FxhQuo0JwKYSGOgcPXPeTK/img.jpg)
1.스프링과 스프링 MVC 스프링이란 스프링은 자바 응용 프로그램을 신속하게 개발하는 데 널리 사용되는 오픈 소스 프레임워크입니다. 보통은 스프링이라고 하지만 정환학 표현은 스프링 프레임워크 입니다. 스프링은 특정 클래스에 대한 수직적인 흐름뿐만 아니라 수평적 처리까지 가능 가능해서 더욱 좋습니다. 스프링은 의존성 주입이나 관점 지향 프로그래밍과 같은 기능뿐만 아니라 기본적으로 웹을 개발할 수 있는 웹 MVC 프레임워크도 함께 제공합니다. 스프링의 주요 특징 일반적인 자바 객체를 위한 POJO지원 객체 간 결합도를 줄이는 의존성 주입 지원 공통 모듈을 재사용하는 AOP 지원 일관성 있는 모듈의 트랜잭션 지원 스프링MVC 스프링MVC 스프링 MVC는 스프링이 제공하는 웹 애플리케이션 개발 전용 프레임워크로..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cv3HWr/btsDjW07p6b/0ESg0wkEcY4wphNq0KZjt1/img.jpg)
환경 툴 설치 1. help -> Eclipse MarketPlace 클릭 2. Spring Tools 4 install 클릭 3. Confirm 클릭 4. accept를 체크한 뒤 finish 클릭 5. Restart Now 클릭 프로젝트 만들기 1.Location에 본인의 spring file 위치 Browse를 통해 입력. 2.Catalog - Internal 선택 후 Filter - webapp 입력 후 Group Id에 나오는 것 선택 후 Next. 3. Group Id = com.springmvc / Artifact Id = chap02 입력 4.Y:: 가 Console에 출력할 경우에 콘솔에 Enter를 누른다. 5. 마무리 Project 우클릭- Dynamic Web Module (4.0)..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cgmJIW/btsDkNuNlN6/0coqT2moomQpAhyO7ydr0k/img.jpg)
3 깃과 브랜치 3-1브랜치란 모든 버전 관리 시스템에는 브랜치라는 개념이 있는데, 버전 관리 시스템에서는 나무가 가지에서 새 줄기를 뻗듯이 여러 갈래로 퍼지는 데이터 흐름을 가리키는 말로 사용을 합니다. 깃에서는 버전 관리를 시작하면 기본적으로 main 브랜치가 만들어지는데 옛 버전의 깃을 사용하고 있거나, 최신 깃을 설치했더라도 메인 브랜치를 main으로 지정하지 않았다면 master 브랜치로 나탈 수도 있습니다. 이 둘은 이름만 다르지 기본이 되는 브랜치라는 개념은 똑같습니다. 브랜치는 코드의 독립적인 개발 흐름을 나타냅니다. 브랜치를 사용하면 기존의 코드를 유지한 채 새로운 기능을 개발하거나 버그를 수정할 수가 있습니다. 다른 브랜치에서의 변경 사항과 충돌없이 개발할 수 있습니다. 이것은 여러 개..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/WJPdX/btsDkDy3Obz/5znIqKkTgWcjtDaClwX2M0/img.jpg)
깃 환경 설정 사용자 정보 입력을 위해 git config 명령을 사용. $ git config --global user.name"이름" $ git config --global user.email"메일 주소" 리눅스 명령 연습하기 현재 디렉터리(경로) 살펴보기 $ pwd 현재 디렉터리에 어떤 파일이나 디렉터리가 있는지 알기 $ ls ls 명령 뒤에 -1 옵션을 붙이면 파일 & 디렉터리 상세정보 표시. $ ls -l ls 명령 옵션 모음 옵션 설명 -a 숨긴 파일이나 디렉터리도 함께 표시합니다. -l 파일이나 디렉터리의 상제 정보를 함께 표시합니다. -r 파일의 정렬 순서를 거꾸로 표시합니다. -t 파일 작성 시간순으로 (내림차순) 표시합니다. 터미널 창 지우기 $ clear 터미널 창에서 디렉터리로 이동..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/N6jCV/btsDkNINALn/4zykXOkatTXs4tguj4mntK/img.jpg)
인덱스 인덱스의 개념 인덱스는 데이터를 빠르게 찾을 수 있도록 도와주는 도구로써 실무에서는 현실적으로 인덱스 없이 데이터 베이스의 운영이 어렵습니다. 인덱스의 개념 책을 예로 들면 1000페이지가 넘는 책의 내용 중에 "UNIQUE"에 대해 찾아보고 싶다면 찾아보기란에는 ABC 또는 가나다 순으로 이미 정렬되어 있기 때문에 "U"부분을 살펴본다면 "UNIQUE"단어를 쉽게 찾을 수가 있습니다. 단어 옆에 본문의 페이지 번호가 적혀 있어서 원하는 내용으로 이동할 수 있습니다. 실무에서 운영하는 테이블에서는 인덱스의 사용 여부에 따라서 성능 차이가 날 수가 있습니다. 대용량의 테이블일 경우에는 더욱 그러하며, 이것이 인덱스를 사용하는 이유입니다. *데이터를 찾을 때에 인덱스의 사용 여부에 따른 결과값의 차이..