将逻辑应用于Spring @Import注释

时间:2016-10-19 09:37:06

标签: java spring annotations

是否可以将逻辑应用于Spring配置的@Import注释?我想根据某些条件导入某些子弹簧类。只会导入一个类,但根据某些条件,它可能是几个不同类中的一个。

@Configuration
@Import(getChildClass())

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

是我试图让它发挥作用。编译器抱怨说import的值必须是类文字。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

正如在其他StackOverflow帖子Import classes conditionally with Spring Annotation中所说的那样,@ Immort注释要求一个类数组,所以你无法实现这个功能。

如果需要根据某些逻辑创建bean,可以使用FactoryBeans使用Prototype范围实例化bean,因此每次实例化它们都可以在Factory bean方法中应用该控件。这有一些限制。

实现此目的的其他可能方法是使用配置文件(但这也有一些限制)。

希望这可以提供帮助。