-
[1-ch2 스프링] spring, lombok, 테스트 관련 어노테이션 알아보기 (@setter, @Autowired, @ContextConfiguration ,,)Back-End/Spring Legacy 2022. 8. 14. 13:32
코드에 사용된 어노테이션들
위의 어노테이션들에 대해 이야기 해볼 예정인데) 의존성주입 테스트에 대해 알아보고 싶은 분들은 아래 링크 클릭하시길!
아래 어노테이션이 사용된 코드 확인도 가능하다.
https://wonisdaily.tistory.com/45
[1-ch2 스프링 특징] 의존성 주입 테스트 (POJO, AOP, DI)
스프링 프레임워크에 대한 이론적인 부분을 살펴보려고 한다. 이번 포스팅에서 알아볼 목표는 아래와 같다. 1. 스프링 프레임워크를 이용한 '의존성 주입'에 대한 이해와 테스트 2. 스프링에서 xm
wonisdaily.tistory.com
Lombok 관련 어노테이션
Lombok을 간단히 설명해보면 컴파일 시 흔하게 코드를 작성하는 기능들을 완성해주는 라이브러리이다.
@Setter 어노테이션은 setter 메서드를 만들어주는 역할을 한다. 아래 그림처럼 @Setter 메서드가 작성된 것을 볼 수 있다.
@Data는 Lombok에서 가장 자주 사용되는 어노테이션이다. @ToString, @EqualsAndHashCode, @Getter/@Setter, @RequiredArgsConstructor를 모두 결합한 형태로 한 번에 자주 사용되는 모든 메서드들으 생성할 수 있다는 장점이 있다. 세부적인 설정이 필요 없는 경우라면 보통 @Data를 주로 이용한다.
Spring 관련
@Component는 해당 클래스가 스프링에서 객체로 만들어서 관리하는 대상임을 명시하는 어노테이션이다. 위의 게시글 예제의 경우도 @Component가 있는 클래스를 스프링이 읽어주도록 @ComponentScan을 통해서 지정되어 있으므로 해당 패키지에 있는 클래스들을 조사하면서 @Component가 존재하는 클래스들을 객체로 생성해 빈으로 관리하게 된다.
@Autowired는 스프링 내부에서 자신이 특정한 객체에 의존적이므로 자신에게 해당 타입의 빈을 주입해주라는 표시이다. 위의 예제 코드에서 Restaurant 객체는 Chef 타입의 객체가 필요하다는 것을 명시한다. 스프링은 @Autowired 어노테이션을 보고 스프링 내부에 관리되는 객체 중에 적당한 것이 있는지 확인하고, 자동으로 주입해준다.
테스트 관련 어노테이션
테스트 관련 중요한 어노테이션은 @ContextConfiguration이다. @ContextConfiguration은 스프링이 실행되면서 어떤 설정 정보를 읽어 들여야 하는지를 명시한다. 속성으로는 locationsn를 이용해서 문자열의 배열로 xml 설정 파일을 명시할 수도 있고, classes 속성으로 @Configuration이 적용된 클래스를 지정해줄 수 있다.
@Runwith는 테스트 시 필요한 클래스를 지정한다.
반응형'Back-End > Spring Legacy' 카테고리의 다른 글
[2-ch5 스프링 MVC 패턴] 기본구조와 로딩구조 (DispatcherServlet, listener, ViewResolver) (0) 2022.08.15 [1-ch4 스프링] MyBatis특징과 스프링 연동 (0) 2022.08.14 [1-ch3 스프링] Oracle Database 하기 (0) 2022.08.14 [1-ch2 스프링 특징] 의존성 주입 테스트 (POJO, AOP, DI) (0) 2022.08.11 [이클립스 스프링] Spring MVC Project 생성과 실행 초기 설정(path, tomcat, pom.xml, log4j2) (0) 2022.08.10