스프링 클래스에 문제가 있습니다. 나는 다른 클래스에 그것들을주기 위해 Configuration 클래스 안에 모든 타입의 Bean들을 가져야한다.구성 클래스 내의 getBeansOfType
문제는 지금 내가 시작하지 않는 한 ApplicationContext
시작하지 않는 한 그렇게 할 수 없다. 내가 호출하는 구성 클래스를 사용하기 때문에 Config 클래스를 사용하기 때문에 무한 루프가 발생한다. ..
:
@Configuration
@Import(Calling.class)
public class MyConfig{
@Bean
public ExampleClass aBean(){
...
return aObject;
}
}
@Configuration
@Import(MyConfig.class)
public class Calling{
@Bean
public Foo anotherBean(){
ConfigurableApplicationContext ctx = new AnnotationConfigApplicationContext(myConfig.class);
ctx.getBeansOfType(ExampleClass.class);
return aObject;
}
}
어떤 기능이나 패턴 난이 콩을 얻을하는 데 사용할 수 있는가?
좋아 (그렇지 않으면 그것은 순환 종속성 가능하면 제거하는 것이 가장 것) , 꽤 잘 보이지만 : 나는'MyConfig' 클래스에 의존하기 때문에'Calling' 클래스를 만들 수 없다 ... 내가 시작할 때 My App, MyConfig 클래스가로드 된 후'Calling'이 임포트된다. 그러나이 시점에서' MyConfig'가 아직 존재하지 않으므로'Calling'은'ExampleClasses'를 원하지만 여기서는 실패합니다 ... – reox
i 이제이 방법으로 해결했습니다 : 나는 List List를 만들고 빈 목록으로 초기화했습니다. 또한'@ Autowired' 메소드'setList (List )'를 만들었습니다. 이 클래스에서는 'List.addAll (Collection)'메서드를 사용하여 내용을 설정합니다. List는 Spring에 의해 작성된 후에도 모든 사용 메소드에서 사용할 수 있습니다. –
reox