문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
|
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< | ||
| + | </ | ||