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상에서 단위 테스트 대상인지 알려주는 어노테이션