문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 다음 판 양쪽 다음 판 | ||
springframework:javaconfig [2013/12/19 00:21] kwon37xi |
springframework:javaconfig [2015/11/17 13:58] kwon37xi [Springframework Java Config] |
||
---|---|---|---|
줄 1: | 줄 1: | ||
====== Springframework Java Config ====== | ====== Springframework Java Config ====== | ||
* Spring 3.1 부터 본격적으로 도입됨. | * Spring 3.1 부터 본격적으로 도입됨. | ||
+ | * [[springframework: | ||
+ | ===== 컨텍스트 클래스 ===== | ||
+ | * [[http:// | ||
===== 메소드 인자를 통한 주입 받기 ===== | ===== 메소드 인자를 통한 주입 받기 ===== | ||
줄 8: | 줄 11: | ||
* '' | * '' | ||
* 한 메소드에서 여러개를 파라미터로 주입 받아도 된다. | * 한 메소드에서 여러개를 파라미터로 주입 받아도 된다. | ||
+ | * 꼭, 현재 Configuration 클래스가 아닌 다른 곳에서 생성된 Bean도 주입 받을 수 있다. | ||
<code java> | <code java> | ||
@Bean | @Bean | ||
줄 21: | 줄 25: | ||
</ | </ | ||
+ | |||
+ | ===== @Primary ===== | ||
+ | * [[http:// | ||
+ | |||
===== 주의할 점 ===== | ===== 주의할 점 ===== | ||
==== Java Config 클래스는 무조건 @Configuration 애노테이션을 붙인다 ==== | ==== Java Config 클래스는 무조건 @Configuration 애노테이션을 붙인다 ==== | ||
Java Config용 클래스에 '' | Java Config용 클래스에 '' | ||
+ | |||
+ | 또한 동일 설정 클래스에서 생성한 다른 Bean의 '' | ||
==== Spring의 특정 인터페이스를 구현했을 경우 처리 ==== | ==== Spring의 특정 인터페이스를 구현했을 경우 처리 ==== | ||
줄 37: | 줄 47: | ||
// ApplicationContext를 주입받아서 OEMIV 객체에 직접 주있해줬음. | // ApplicationContext를 주입받아서 OEMIV 객체에 직접 주있해줬음. | ||
+ | // 단, 항상 entityManagerFactory를 먼저 주입하고 다은에 applicationContext 주입할 것. | ||
+ | // 안그러면 EMF가 여러개일 때 Autowiring 오류가 발생함. | ||
// 가장 좋은 것은 OEMIV를 직접 빈('' | // 가장 좋은 것은 OEMIV를 직접 빈('' | ||
</ | </ | ||
줄 44: | 줄 56: | ||
현재 확인된 바로는 무한 루프를 도는 듯한 상황이 연출되었다. | 현재 확인된 바로는 무한 루프를 도는 듯한 상황이 연출되었다. | ||
이런 상황은 만들지 말 것. | 이런 상황은 만들지 말 것. | ||
+ | |||
+ | ==== 하나의 JavaConfig 안에서 Field를 통한 Properties 주입과 @Bean Properties 의 상호 의존 ==== | ||
+ | * 하나의 JavaConfig안에서 Field에 '' | ||
+ | @Configuration | ||
+ | public class SomePropsConfig { | ||
+ | @Value("# | ||
+ | private int someValue; | ||
+ | | ||
+ | public Properties myProperties() { | ||
+ | return new Properties() ..... | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | * 이 상황은 항상 발생하지는 않았고, 설정 파일이 여러개일 때 발생했다. | ||
+ | * 가설 | ||
+ | * 설정파일이 여러개일 때 '' | ||
+ | * 해당 다른 설정파일이 '' | ||
+ | * '' | ||
+ | |||
+ | ==== BeanFactoryPostProcessor ==== | ||
+ | * [[http:// | ||