문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
springframework:javaconfig [2014/12/10 19:31] kwon37xi [Spring의 특정 인터페이스를 구현했을 경우 처리] |
springframework:javaconfig [2018/08/29 12:49] kwon37xi |
||
---|---|---|---|
줄 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 | ||
줄 31: | 줄 35: | ||
또한 동일 설정 클래스에서 생성한 다른 Bean의 '' | 또한 동일 설정 클래스에서 생성한 다른 Bean의 '' | ||
+ | |||
==== Spring의 특정 인터페이스를 구현했을 경우 처리 ==== | ==== Spring의 특정 인터페이스를 구현했을 경우 처리 ==== | ||
Bean에 주입할 객체를 '' | Bean에 주입할 객체를 '' | ||
줄 46: | 줄 51: | ||
// 가장 좋은 것은 OEMIV를 직접 빈('' | // 가장 좋은 것은 OEMIV를 직접 빈('' | ||
</ | </ | ||
+ | |||
+ | ==== @DependsOn ==== | ||
+ | * Bean들간의 의존성 지정. '' | ||
+ | * [[http:// | ||
==== Java Config간의 상호 의존 ==== | ==== Java Config간의 상호 의존 ==== | ||
줄 51: | 줄 60: | ||
현재 확인된 바로는 무한 루프를 도는 듯한 상황이 연출되었다. | 현재 확인된 바로는 무한 루프를 도는 듯한 상황이 연출되었다. | ||
이런 상황은 만들지 말 것. | 이런 상황은 만들지 말 것. | ||
+ | |||
+ | ==== 하나의 JavaConfig 안에서 Field를 통한 Properties 주입과 @Bean Properties 의 상호 의존 ==== | ||
+ | * 하나의 JavaConfig안에서 Field에 '' | ||
+ | @Configuration | ||
+ | public class SomePropsConfig { | ||
+ | @Value("# | ||
+ | private int someValue; | ||
+ | | ||
+ | public Properties myProperties() { | ||
+ | return new Properties() ..... | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | * 이 상황은 항상 발생하지는 않았고, 설정 파일이 여러개일 때 발생했다. | ||
+ | * 가설 | ||
+ | * 설정파일이 여러개일 때 '' | ||
+ | * 해당 다른 설정파일이 '' | ||
+ | * '' | ||
+ | |||
+ | ==== BeanFactoryPostProcessor ==== | ||
+ | * [[http:// | ||
+ | |||
+ | |||
+ | ==== Bean의 List/Map 주입받기 ==== | ||
+ | * [[https:// | ||
+ | |||
+ | <code java> | ||
+ | private List< | ||
+ | private Map< | ||
+ | </ | ||