📖 학습 내용
- JUnit
- Orcale Database 연동
- Mybatis 연동
- log4j
- MVC Controller
1. JUnit
단위 테스트 도구로서 테스트를 쉽게 할 수 있게 만들어주는 라이브러리
예제
pom.xml에 위와 같이 라이브러리 등록
- chef 클래스는 @Component를 사용해 빈 등록
- @Data : Lombok을 사용해 자동으로 set/get 메소드 생성
- Restaurant 클래스에서 chef 객체를 선언하고 @Data를 통해 @Setter를 사용해 의존성 주입
- src/test/java 패키지에서 test 클래스를 생성
JUnit Test Case
클래스를 선언하여 생성
@RunWith
는 현재 테스트 코드가 스프링을 실행하는 역할을 할 것이라는 것을 뜻함
@ContextConfiguration
은 지정된 클래스나 문자열을 이용해 객체를 스프링에 등록
@Log4j
는 log를 기록하는 Logger를 변수로 생성
- restaurant 객체를 생성하여 의존성 주입
- Restaurant에서 new 연산자를 통해 객체를 생성하지 않았음에도 객체가 생성됨
-> @Component
를 통해 빈 객체에 등록했기 때문
2. Orcale Database 연동
- Connection Pool을 위해 Hikari 라이브러리를 사용하기 위해 위와 pom.xml 과 servlet-xml에 위와 같이 셋팅
3. Mybatis 연동
- pom.xml 에 라이브러리 추가
- spring-jdbc / spring-tx : 스프링에서 DB처리와 트랜잭션 처리를 위함
- mybatis / mybatis-spring : 스프링과 연동
- SqlSessionFactory 등록
- mybatis 셋팅은 SQL을 별도로 설정을 분리하고 자동으로 처리될 수 있도록 Mapper 선언
- 어노테이션을 활용해 쿼리문을 짤 수 도 있다.
- timeMapper객체를 생성하고 의존성 주입
4.log4jdbc-log4j2 설정
SQL문의 값을 제대로 확인하기 위해 SQL로그를 편리하게 바꿔주는 라이브러리
- src/main/resources 에 log4jdbc.log4f2.properties 추가
5. MVC Controller
MVC 패턴에서의 Controller의 역할
- HttpServletRequest, HttpServletResponse를 거의 사용할 필요 없이 구현이 가능
- 다양한 타입의 파라미터 처리 및 리턴이 가능
- Get,Post 방식에 대한 어노테이션으로 처리가 가능
- 상속/인터페이스 방식 대신 어노테이션 만으로도 설정이 가능
예제
@Controller
는 해당 클래스를 자동적으로 스프링에 객체로 등록하게 해준다
@RequestMapping
은 메소드의 경로를 표현한다. 클래스에 선언할 시 클래스의 하위 메소드의 상위 주소를 가진다.
- SampleDTO에 @Data 어노테이션 적용
- 위 방식은 SampleDTO를 직접 파라미터에 선언하는 command 방식
- 객체 자체를 출력하면 내부 변수들이 출력
- @RequestParam을 사용해 객체의 변수명을 가져오고 변수를 셋팅
- 각 객체에 대한 변수를 선언 하여 출력