https://projects.spring.io/spring-framework/ 저는 봄용 프레임 워크 hellpworld 프로그램이 있습니다. 주석 @Configuration
을 삭제합니다. 그러나 프로그램은 이전과 같이 계속 실행될 수 있습니다. 왜? 여기 @Configuration
역할이란 무엇입니까?Spring : @Bean은 @Configuration 없이도 계속 작동 할 수 있습니다.
답변
@Bean 인스턴스를 프로그래밍 할 수 있도록 @Component로 클래스를 표시 할 수 있습니다. 그렇게하면 라이트 모드라고합니다. 이 모드에서는 'bean 간 참조'를 사용할 수 없으며 메소드를 통해 다른 인스턴스를 참조합니다.
한편, @Configuration 클래스의 @Bean은 사이드 cglib 래퍼에 래핑되어이 빈 메소드에 대한 호출을 가로 채고 Bean 인스턴스를 컨텍스트에서 반환 할 수 있습니다. 당신은 '빈 간 참조'를 사용할 수 있습니다. @Configuration 클래스
에
- @Bean 방법은 일반적 @Bean 방법 @Configuration 클래스 내에서 선언된다. 이 경우, bean 메소드는 동일한 클래스에서 다른 @Bean 메소드를 참조 할 수 있습니다. 이렇게하면 콩 사이의 참조 이 강력하게 입력되고 탐색 할 수 있습니다. 이러한 소위 'bean 간 참조'는 getBean() 조회와 마찬가지로 범위 지정 및 AOP 의미를 존중하도록 보장됩니다. 이들은 런타임에 각 구성 클래스의 CGLIB 서브 클래 싱을 요구하는 원래 'Spring JavaConfig'프로젝트에서 알려진 의미 인 입니다. 결과로 @Configuration 클래스와 팩토리 메소드는이 모드에서 으로 최종 또는 비공개로 표시하면 안됩니다.
- @Bean 라이트 모드
@Bean 방법은 @Configuration 주석하지 입니다 클래스 내에서 선언 할 수있다. 예를 들어, bean 메소드는 @Component 클래스 또는 보통의 오래된 클래스에서 선언 된 일 수 있습니다. 이러한 의 경우 @Bean 메서드는 소위 '라이트'모드로 처리됩니다.
라이트 모드의 Bean 메소드는 범위 지정 및 수명주기 콜백이 올바르게 적용된 컨테이너 (XML의 팩토리 메소드 선언과 유사)로 컨테이너의 일반 팩토리 메소드로 처리됩니다. 포함 된 클래스 은이 경우 수정되지 않고 남아 있으며 포함하는 클래스 또는 팩토리 메서드에 대해 이라는 특수한 제약 조건이 없습니다.
@Configuration 클래스의 bean 메소드에 대한 의미와 달리, 'bean 간 참조'는 라이트 모드에서 지원되지 않습니다. 대신 하나의 @ Bean 메소드가 모드의 다른 @ Bean 메소드를 호출 할 때, 호출은 표준 Java 메소드 호출입니다. Spring은 CGLIB 프록시를 통해 호출을 인터셉트하지 않고 을 호출한다.
그리고, @Configuration는 당신에게 능력을 사용하는 다른 설정 @Import (DatabaseConfig.class)
자원 수입 @PropertySource을 (가져 오기 다른 주석
의 함께 많은 다른 기능을 제공합니다 "클래스 경로 : config.properties ")
컴포넌트 스캔을 사용 @ComponentScan (= basePackages)
{"com.sample * ".}마킹 프로필 @profile ("사용")
는 기능 @Enablexxxx 사용하려면
- 1. XPages Managed Bean은 여러 데이터베이스에서 작동 할 수 있습니까?
- 2. Spring bean은 어떻게 동시성을 처리합니까?
- 3. spring 및 commons configuration
- 4. Java Spring ApplicationContext Configuration
- 5. Spring @Configuration 클래스는 autowired가되어야합니다.
- 6. spring java xml configuration
- 7. Spring Jndi Configuration, Server.xml
- 8. Spring @Configuration Beans - 'Best'Location?
- 9. spring mvc hibernate - configuration
- 10. Spring MVC Java Configuration
- 11. applicationContext.xml에서 Spring Configuration 리소스를 찾을 수 없습니다.
- 12. 백업 없이도 MySQL 데이터베이스의 변경 사항을 롤백 할 수 있습니다.
- 13. Spring MVC @Configuration 클래스 생성자
- 14. Java Configuration 및 Spring Security 3.2로 로그인 할 수 없습니다.
- 15. Spring @Configuration 클래스에 Spring 레포지토리를 삽입하십시오.
- 16. 클라이언트 리디렉션 없이도 기존 .Net 웹 서비스가 계속 작동 할 수 있도록 301 리디렉션을 사용할 수 있습니까?
- 17. Spring - @Configuration 클래스에서 EntityManager를 가져옵니다.
- 18. Spring Bean은 기본적으로 Grails의 Spring Bean DSL 트랜잭션을 사용하여 구성됩니까?
- 19. Spring @Configuration 빈을 사용하는 Togglz
- 20. 보기가 UIwebview로 작동 할 수 있습니다.
- 21. 소스가 jms 소비자로 작동 할 수 있습니다.
- 22. 각도 2는 WAMP와 작동 할 수 있습니다
- 23. 세마포어를 취득 할 수 없음 - Zuul Configuration
- 24. SKLabelNode가 사라지지만 계속 클릭 할 수 있습니다.
- 25. TabBar을 계속 클릭 할 수 있습니다.
- 26. Spring 3 in jar configuration (자동 설정)
- 27. 종료하고 계속 작동 시키십시오.
- 28. 종속 구성이 Spring @Configuration 주석으로 초기화되도록하려면 어떻게해야합니까?
- 29. Configuration Spring.Http.Client.WebClientHttpRequestFactory
- 30. Aspectj with spring aop configuration xml