Spring Framework - 어노테이션 - LOG.INFO

본 포스트는 ‘John Thompson’의 ‘Spring Framework Beginner to Guru’강의를 바탕으로 공부 목적으로 정리하고자 작성하였습니다.

이번 포스트에서는 Spring에서 AOP, DI를 좀 더 쉽게 구현하기 위해 사용하는 어노테이션(Annotation)에 대해 알아보겠습니다.

어노테이션(Annotation)이란?

Java 소스코드에 추가하여 사용할 수 있는 메타데이터의 일종

  • JDK 1.5 버전 이상에서 사용 가능
  • AOP를 편리하게 구성할 수 있음

작동 방식

  1. Class파일에 임베디드 됨
  2. 컴파일러에 의해 생성
  3. JVM에 포함되어 작동

Java의 기본 제공 Annotations

  • @Override
    • 메소드가 override 됐는지 검증
  • @Deprecated
  • @SuppressWarning
  • @SafeVarargs
  • @FunctionalInterface

원문참조

Meta Annotations

  • @Retention
  • @Documented
  • @Target
  • @Inherited
  • @Repeatable

자주 사용하는 Annotation의 종류

  • @Controller
  • @Bean.
  • @Service
  • @Component
  • @Repository

##

  • @RequestMapping
  • @Qualifier
  • @Primary
    • 한 Service를 통해 여러 Service Bean들을 구현한 후, @Primary를 지정해주지 않으면 아래 메시지가 뜸
      Consider marking one of the beans as @Primary, updating the consumer to accept multiple beans, or using @Qualifier to identify the bean that should be consumed
  • @Profile

Bean’s Life-Cycle

  • @PostConstruct : Bean 생성 후 요청한 곳에 반환되기 전에 실행

  • @PreDestroy : Bean 삭제 전에 실행

참고문헌