Spring
Spring , Lombok , JUnit 어노테이션 정리
unboxing
2021. 4. 20. 18:55
Lombok | Spring | JUnit |
@Setter @Data @Log4j |
@Autowired @Component |
@RunWith @ContextConfiguration @Test |
Lombok 관련 어노테이션
@Setter
setter 메서드를 만들어주는 역할
3가지의 속성을 부여해줄수있다.
- value ( 접근 제한 속성을 의미 )
- onMethod_={@어노테이션} ( setter 메서드 생성시 메서드에 추가할 어노테이션을 지정 , from JDK8)
- onParam ( 메서드의 피라미터에 어노테이션을 사용하는 경우 적용 )
@Data
Lombok 에서 가장 자주 사용되는 어노테이션
@ToString , @EqualsAndHashCode , @Getter/Setter , @ RequiredArgsConstructor 를 모두 결합한 형태
한번에 자주 사용되는 모든 메서드를 생성할수있다.
@Log4j
로그 객체를 생성한다.
개발시 별도의 로그를 설정할 필요없이 필요한 코드를 만들어낸다.
Spring LegacyProject로 생성한경우는 기본적으로 Log4j 설정이 있기때문에 @Log4j 를 사용하는것만으로 로그객체를 준비할수있다.
Spring 관련 어노테이션
@Autowired
스프링 내부에서 자신이 특정한 객체에 의존적이기때문에 해당하는 타입의 빈을 주입해달라는 표시
@Component
어노테이션을 적용한 해당 클래스가 스프링에서 객체로 만들어서 관리하는 대상임을 명시
@ComponentScan을 통해 해당 패키지에 있는 @Component가 명시되어있는 클래스들을 객체로 생성해 빈으로 관리
JUnit(테스트) 관련 어노테이션
@RunWith
테스트 할때 필요한 클래스를 지정하는 어노테이션
스프링은 SpringJUnit4ClassRunner 클래스가 대상이된다.
@ContextConfiguration
스프링이 실행되면서 어떤 설정 정보를 읽어 들여야하는지를 명시
1) 문자열의 배열로 XML 설정파일을 명시할수있다. ( XML 설정 )
2) classes 속성으로 @Configuration이 적용된 클래스를 지정해줄수 있다. ( JAVA 설정 )
@Test
JUnit에서 해당 메소드가 JUnit상에서 단위 테스트 대상인지 알려주는 어노테이션