[SPRING] Spring의 JavaConfig 및 CustomScopeConfigurer 문제
SPRINGSpring의 JavaConfig 및 CustomScopeConfigurer 문제
나는 이상한 행동을보고 있는데, 여기 누군가가 문제에 대해 밝혀 줄 수 있기를 바랬다.
설정을 설명하여 시작하겠습니다. 첫째, 간단한 데이터 객체
public class Apple {
private String name;
public Apple withName(String name) {
this.name = name;
return this;
}
public String getName() {
return name;
}
}
그리고 테스트 클래스 ..
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes={TestConfig.class})
public class AppleTest {
@Autowired private Apple apples;
@Test
public void simpleTest() {
System.out.println("OBJ: "+apples);
}
}
구성은 다음과 같습니다.
@Configuration
public interface ConfigInterface {
public Apple getApple();
}
구현 클래스로
@Configuration
@Import(AbstractTestConfig.class)
public class TestConfig implements ConfigInterface {
public Apple getApple() {
return new Apple().withName("Granny apples");
}
}
설정 의존성으로 ...
@Configuration
public class AbstractTestConfig {
@Autowired ConfigInterface conf;
@Bean Apple myTestApple() {
return conf.getApple();
}
}
이 모든 것이 훌륭하게 작동합니다. 테스트를 실행하면 기대했던 결과를 볼 수 있습니다. 그런 다음 스패너를 바퀴에 던지고 AbstractTestConfig를 다음과 같이 수정합니다.
@Configuration
public class AbstractTestConfig {
@Autowired ConfigInterface conf;
@Bean Apple myTestApple() {
return conf.getApple();
}
// NEW CODE
@Bean CustomScopeConfigurer scopeConfigurer() {
return new CustomScopeConfigurer();
}
}
그리고 갑자기 @Autowired 객체 conf는 Apple bean을 생성해야 할 때 null입니다.
CustomScopeConfigurer 빈을 TestConfig 클래스로 옮기면 이상하다.
특정 스코프 또는 CustomScopeConfigurer 객체에 대해 알지 못하는 무언가가 있습니까?
해결법
-
==============================
1.Spring @Bean에서 복사 됨 javadoc :
Spring @Bean에서 복사 됨 javadoc :
@Bean public static PropertyPlaceholderConfigurer ppc() { // instantiate, configure and return ppc ... }
from https://stackoverflow.com/questions/14942304/springs-javaconfig-and-customscopeconfigurer-issue by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] org.json.JSONObject 클래스 용의 직렬자를 발견하지 못해, BeanSerializer를 작성하는 프로퍼티가 발견되지 않았다 (0) | 2019.01.22 |
---|---|
[SPRING] 봄 보안 다중 hasIPAddress antMatchers (0) | 2019.01.22 |
[SPRING] Spring 데이터 나머지로 resourceId를 노출하는 방법 (0) | 2019.01.22 |
[SPRING] 봄 IDREF 사용법 (0) | 2019.01.22 |
[SPRING] Spring에서 @ComponentScan으로 모든 bean을 느리게로드하는 방법? (0) | 2019.01.22 |