ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • @Component @Autowired란?
    Spring/이론 정리 2023. 8. 7. 00:47
    반응형

    @Component?

    - 개발자가 직접 작성한 Class@Bean으로 등록하는 것이다

    - 기본값으로 싱글톤 클래스 빈을 생성하고 @Scope(“protoype") 변경이 가능하다

    >> 클래스에 @Component @Scope(“protoype")로 변경

     

    @Bean?

    - 개발자가 직접 제어가 불가능한 외부 라이브러리등을 Bean으로 만들려할 때 사용된다

     

    @Bean@Commponent

    - @Bean@CommpentSpring(IOC) containerBean을 등록하도록하는 메타데이터를 기입하는 어노테이션이다 차이점은 @Commponent는 개발자가 직접 작성한 Class@Bean으로 등록하는 것

     

    @Autowired

    - @Component를 사용한 Bean의 의존성 주입은 @AutoWired 어노테이션을 이용하여 할 수 있다

    >> @AutoWired를 이용하여 의존성을 자동으로 주입하였다

    >> Toy 클래스도 @Component를 가지고 있어야 @AutoWired을 주입 할 수 있다

     

    @Qualifier( )

    >> @Component가 없으므로 @AutowiredsuperEngineturbeEgine 값만 남게 된다

     

    >> @Qualifier(“superEgine”) @Autowired가 검색할 때 superEngine을 사용하라고 지정해준다

    >> @Qualifier(“superEgine”) + @Autowired 대신 @Resource(name="superEgine") 과 같이 하나의 문장으로 사용할 수 있다

    >> @Qualifier(“superEgine”) + @AutowiredbyTybe으로 찾고 @Qualifier(“superEgine”)으로 확인

    >> @Resource(name="superEgine")byName으로 찾는

     

     

    @Commponent

    Class를 자동으로 Bean에 등록하라고 하기 위해서 XML파일에 따로 설정이 필요하다

    config.xml (resources config.xml 생성)  <context:component-scan>

    >> <context:component-scan> 태그의 등록이 필요하다

    >> base-packge="스캔할 패키지 경로"

    >> <context:component-scan>안에는 @AutoWired의 태그 <context:annotation-config/>도 포함되어 있어 @AutoWired도 사용할 수 있다

    추가

     

    반응형

    'Spring > 이론 정리' 카테고리의 다른 글

    @Value와@PropertySource  (0) 2023.08.07
    DTO DAO VO란?  (0) 2023.08.06
Designed by Tistory.