복붙노트

[SPRING] Spring의 @Configuration과 @Component의 차이점은 무엇입니까?

SPRING

Spring의 @Configuration과 @Component의 차이점은 무엇입니까?

@ComponentScan은 @Configuration과 @Component를 사용하여 Bean을 작성합니다. 이러한 주석은 모두 바뀌면 잘 작동합니다. 그 때의 차이점은 무엇입니까?

해결법

  1. ==============================

    1.여기에서 더 많은 것을 볼 수 있습니다.

    여기에서 더 많은 것을 볼 수 있습니다.

    http://docs.spring.io/spring-framework/docs/4.0.4.RELEASE/javadoc-api/org/springframework/context/annotation/Configuration.html

    @Configuration은 @Component이지만 @Component는 @Cofinguration처럼 작동 할 수 없습니다.

  2. ==============================

    2.실제로 대답은 완전하지 않습니다. 사실입니까?

    실제로 대답은 완전하지 않습니다. 사실입니까?

    하지만 당신은 MyConfiguration.java 클래스를 생성하고 @Component로 스테레오 타입을 만들고 @Beans 선언을 추가 할 수 있습니다. 이런 식으로 구성으로 보일 것입니다. 주요 차이점은 @Configuration @Bean으로 주석 된 클래스가 주석 처리 된 메소드입니다. 첫 번째 메소드 다음에 코드 호출로 작성된 CGLIB를 사용하는 프록시는 메소드를 다시 실행하지 않고 컨텍스트에서 bean을 리턴하고 다른 메소드를 작성합니다. @Component를 @Bean과 함께 사용하면 인스턴스가 생성됩니다.

  3. ==============================

    3.@Configuration - beans.xml과 비슷하지만 자바 기반의 빈 설정이다. 이는이 주석으로 주석 된 클래스가 자동 감지를위한 후보가 될 빈이 구성되는 장소임을 의미합니다. 이 클래스에서 메소드는 클래스의 객체를 반환하는 @Bean으로 주석 처리됩니다.

    @Configuration - beans.xml과 비슷하지만 자바 기반의 빈 설정이다. 이는이 주석으로 주석 된 클래스가 자동 감지를위한 후보가 될 빈이 구성되는 장소임을 의미합니다. 이 클래스에서 메소드는 클래스의 객체를 반환하는 @Bean으로 주석 처리됩니다.

    예:

    @Configuration
    public class ConfigClass {
    
    @Bean
    public UserClass getObject() {
    return new UserClass();
    }
    }
    

    @Component - @Component로 표시되어 있지 않은 클래스는 autowire (@Autowire) 할 수 없습니다. 이는 클래스가 @Component로 주석을 달아야하는 주석을 사용하여 모든 클래스를 자동 와이어 링하려는 경우를 의미합니다.

    예:

    @Component
    public class A {  .... }
    
    public class B { 
    @Autowire
    A a;
    .....
    .....
    }
    

    참조 용 봄 문서 : https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/annotation/Configuration.html

  4. ==============================

    4.reos가 강조한 차이점은 별개입니다.

    reos가 강조한 차이점은 별개입니다.

    @Configuration을 @Component로 대체 할 수없는 이유는 다음과 같습니다.

    차이점은 inter bean 의존성이 어떻게 처리되는지에있다. 자세한 설명은 예를 들어 링크를 참조하십시오. 구성과 구성 요소의 차이점

  5. from https://stackoverflow.com/questions/39174669/what-is-the-difference-between-configuration-and-component-in-spring by cc-by-sa and MIT license