반응형

 

 

"김영한 스프링 핵심 원리 기본편" 내용을 기반으로 작성한 내용입니다.

 

스프링 핵심 원리 - 기본편 강의 | 김영한 - 인프런

김영한 | 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., 스프링 핵심 원리를 이해하고, 성장하는 백엔드 개발자가 되어보

www.inflearn.com

 

📝@Component 기능을 가진 어노테이션

기본적으로 아래 어노테이션들은 @Component를 가지고 있어서 Component Scan 범위에 포함된다.

 

  • @Controller
    • 스프링 MVC 컨트롤러로 인식
  • @Service
    • 특별 처리는 하지 않지만 비즈니스 계층이라는 걸 인식시킨다.
  • @Repository
    • 스프링 데이터 접근 계층으로 인식하고, 데이터 계층의 예외를 스프링 예외로 변환해준다.
  • @Configuration
    • 스프링 설정 정보라는 표시이다

 

📝직접 어노테이션 만들기 (Custom)

등록할 컴포넌트 설정 어노테이션

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface MyIncludeComponent {
}

 

제외할 컴포넌트 설정 어노테이션

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface MyExcludeComponent {
}

 

어노테이션 적용시키기

// 어노테이션 (등록) 
@MyIncludeComponent
public class BeanA {
}

// 어노테이션 (제외)
@MyExcludeComponent
public class BeanB {
}

 

컴포넌트 스캔에 등록하거나 제외할 어노테이션 등록

@ComponentScan(
    includeFilters = @Filter(type = FilterType.ANNOTATION, classes =
        MyIncludeComponent.class),
    excludeFilters = @Filter(type = FilterType.ANNOTATION, classes =
        MyExcludeComponent.class)
)
반응형