본문 바로가기
Spring

Spring-PetClinic 프로젝트 실습 1

by 성건희 2019. 5. 14.
반응형

이 프로젝트는 Spring에서 제공하는 동물병원 접수 사이트 프로젝트다.

프로젝트 실습을 통해서 스프링의 핵심 기술인 'IoC, AOP, PSA'를 학습해보자.
실습과정은 여기gbeea1004브랜치를 통해 확인할 수 있다.

먼저 로그레벨이 INFO로 되어있어 좀 더 자세한 정보를 보기위해 DEBUG레벨로 변경시켜주자.

설정은 resources - templates - application.properties에서 할 수 있다.

# Logging
logging.level.org.springframework=INFO
logging.level.org.springframework.web=DEBUG // 웹 에서는 DEBUG로 설정

그 후 다음과 같은 요구사항에 맞게 코드를 수정하자.

# 요구사항

  • LastName이 아니라 FirstName으로 검색이 가능하게 변경하기
  • 정확히 일치하는 것이 아니라 해당 키워드가 들어있는 것을 찾을 수 있게 변경하기
  • Owner에 age 속성 추가

Owner에 age속성 추가

  • 모델 변경
  • 스키마 변경
  • 데이터 변겅
  • 뷰 변경

Tip) HTML 수정 시 'CTRL + F9'를 입력하면 서버를 재시작하지 않아도 수정된 HTML페이지가 반영된다.

궁금증

MoelAndView는 왜 쓰는걸까?

  • 그냥 Model에 바로 owner객체를 넣어서 View에 넘기면 안되나?
  • 둘의 차이가 있는가?

아래 쿼리의 의미는?

@Query("SELECT DISTINCT owner FROM Owner owner left join fetch owner.pets WHERE owner.lastName LIKE :lastName%")
    @Transactional(readOnly = true)
    Collection<Owner> findByLastName(@Param("lastName") String lastName);

해야할 것

  • ThymeLeaf Template Engine 학습하기

느낀점

항상 Handlebars Template Engine만 써오다가 ThymeLeaf를 처음 경험하게 되었는데,

비슷한 부분도 있었지만 문법이 다르다보니 학습의 필요성을 느끼게 되었다.

전체적인 프로젝트는 기존에 학원에서 학습하던 코드와 유사해 빠르게 이해할 수 있었다.

참고

예제로 배우는 스프링 입문 - 백기선

반응형

댓글