[KOSTA] Spring 기반 Cloud 서비스 개발자 양성 과정 73일차 - JUnit, DB, Mybatis, log4j, MVC

JUNBEOM PARK·2022년 5월 19일
0
post-thumbnail

📖 학습 내용

  1. JUnit
  2. Orcale Database 연동
  3. Mybatis 연동
  4. log4j
  5. 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객체를 생성하고 의존성 주입

  • 연동이 잘 되었는지 JUnit으로 테스트


4.log4jdbc-log4j2 설정

SQL문의 값을 제대로 확인하기 위해 SQL로그를 편리하게 바꿔주는 라이브러리

  • pom.xml에 라이브러리 등록

  • src/main/resources 에 log4jdbc.log4f2.properties 추가

  • Hikari 셋팅을 위와 같이 해준다

  • 위와 같이 가독성 좋게 로그가 출력


5. MVC Controller

MVC 패턴에서의 Controller의 역할

  • HttpServletRequest, HttpServletResponse를 거의 사용할 필요 없이 구현이 가능
  • 다양한 타입의 파라미터 처리 및 리턴이 가능
  • Get,Post 방식에 대한 어노테이션으로 처리가 가능
  • 상속/인터페이스 방식 대신 어노테이션 만으로도 설정이 가능

예제

  • @Controller 는 해당 클래스를 자동적으로 스프링에 객체로 등록하게 해준다
  • @RequestMapping은 메소드의 경로를 표현한다. 클래스에 선언할 시 클래스의 하위 메소드의 상위 주소를 가진다.

  • SampleDTO에 @Data 어노테이션 적용

  • 위 방식은 SampleDTO를 직접 파라미터에 선언하는 command 방식
  • 객체 자체를 출력하면 내부 변수들이 출력

  • @RequestParam을 사용해 객체의 변수명을 가져오고 변수를 셋팅
  • 각 객체에 대한 변수를 선언 하여 출력
profile
DB 엔지니어👍

0개의 댓글