티스토리 뷰
[예제로 배우는 스프링 입문] 3. 프로젝트 살펴보기를 보고 학습한 내용을 기록.
프로젝트 살펴보기
✔️ 프로젝트 살펴보기
-
일반적인 메이븐 프로젝트 구조를 따른다.
-
스프링부트 프로젝트 기반으로 만들어져 있다. (@SpringBootApplication -> 간단하게 메인 애플리케이션 실행 가능, 내장톰캣 동작, 자동 설정 동작 등.. 많은 것을 직접 설정하지 않아도 손쉽게 실행이 가능해진다.)
-
도커 관련 설정이 존재한다. (docker-compose.yml)
✔️ 프로젝트 분석 - 로그
스프링이 처음인 경우 어디가 어떻게 동작하는지 확인하고 싶다면, 로그를 확인하는 것이 좋다. 기본 로깅 옵션은 INFO 레벨로 설정되어 있으나, 더 자세한 로그 메시지를 확인하기 위하여 로그 설정 파일에서 로깅 옵션을 DEBUG 레벨로 변경해줄 수 있다. 스프링 부트 프로젝트인 경우, 로그 설정 파일은 src/main/resources/application.properties 을 확인하면 된다.
# Logging
logging.level.org.springframework=INFO # 기본 설정
INFO -> DEBUG로 변경한다!
# Logging
logging.level.org.springframework.web=DEBUG # DEBUG 레벨로 변경
이제 애플리케이션 실행시 DEBUG 로그가 찍힌다. GET, POST 등의 로그를 읽을 수 있다.
애플리케이션에서 FIND OWNERS를 클릭시(요청: GET "/owners/find"),
로그를 통해 DispatcherServlet 클래스 -> RequestMappingHandlerMapping -> OwnerController의 initFindForm 으로 맵핑되는 것을 확인 가능하다.
// OwnerController.java
...
@GetMapping("/owners/find")
public String initFindForm(Map<String, Object> model) {
model.put("owner", new Owner()); // model에 Owner 객체를 넣어준다.
return "owners/findOwners"; // owners/findOwners 뷰를 리턴한다.
}
...
마지막에 리턴한 뷰를 화면에 보여준다.
owners/findOwners는 resources/templates/ 이하에 위치한다.
그 외 POST와 같은 여러 요청들도 이와 같은 방법으로 로그를 따라가며 살펴볼 수 있다.
✔️ 프로젝트 분석 - 디버깅
원하는 위치에 디버거를 찍어서 (빨간점 표시) 디버그 모드로 실행할 수 있다.
Variables 탭에서 현재 상태에서 참조할 수 있는 객체에 대한 정보를 확인할 수 있다.
✔️ 프로젝트 분석 과제 - 해보기
1. LastName이 아니라 FirstName으로 검색할 수 있도록 변경
2. 검색 키워드가 정확히 일치하지 않고 포함 관계여도 검색되도록 변경
3. Owner에 age 설정 추가
'dev > java' 카테고리의 다른 글
[Java] Switch-case 문법과 예시 (0) | 2020.12.24 |
---|---|
[Java] 자동 형변환, 명시적 형변환 (0) | 2020.12.23 |
[Spring] 예제 프로젝트 준비 (예제로 배우는 스프링 입문 강의 따라하기) (0) | 2020.12.20 |
macOS에 IntelliJ IDEA 설치하기 (Java IDE, SpringBoot 개발 환경) (2) | 2020.08.19 |
[Spring Boot] Mac OS X 환경 - Spring Boot 설치하기 (0) | 2020.08.05 |