2016-10-19 4 views
0

Spring 설정을 위해 @Import 어노테이션에 로직을 적용 할 수 있습니까? 어떤 조건에 따라 특정 아동용 봄 클래스를 가져 오려고합니다. 가져온 클래스는 하나만있을 것이지만 일부 조건에 따라 여러 클래스 중 하나 일 수 있습니다.Spring @Import annotation 로직 적용하기

@Configuration 
@Import(getChildClass()) 

public Class<? extends SpringConfiguration> getChildClass { return FooSpringConfiguration } 

제 생각에는 작동시키려는 시도였습니다. 컴파일러는 import의 값이 클래스 리터럴이어야한다고 말합니다.

아이디어가 있으십니까?

+0

어떤 조건입니까? 속성 값? – Pau

+0

예, 속성 값입니다. – user3722194

답변

1

다른 StackOverflow 게시물 Import classes conditionally with Spring Annotation에서와 마찬가지로 @Import 주석은 클래스 배열을 요청하므로이 기능을 수행 할 수 없습니다.

로직을 기반으로 빈을 작성해야하는 경우 FactoryBean을 사용하여 Bean을 Prototype 범위로 인스턴스화 할 수 있으므로 인스턴스화 될 때마다 Factory bean 메소드에서 제어를 적용 할 수 있습니다. 여기에는 몇 가지 제한 사항이 있습니다.

다른 가능한 방법은 프로필을 사용하는 것입니다 (그러나 여기에는 몇 가지 제한이 있습니다).

희망이 도움이 될 수 있습니다.

+0

감사합니다. 이러한 옵션을 살펴 보겠습니다. – user3722194

관련 문제