我想以这样的方式配置 spring bean,即根据布尔变量的值,两个可用连接 bean 之一在代码中自动连接。
下面是布尔变量的初始化:
//This is overridden as false from the properties file on the server.
@Value(value = "${my.property.connectionOne:true}")
private boolean connectionOne;
Run Code Online (Sandbox Code Playgroud)
我用这样的方式定义了 Bean:
@Bean(name = "specificConnection")
public Destination getSpecificConnection() throws Exception {
if (connectionOne) { //boolean variable
return new ConnectionOne("DB");
}
else {
return new ConnectionTwo("XML");
}
}
Run Code Online (Sandbox Code Playgroud)
哪里ConnectionOne和ConnectionTwo都实施Destination
我在所需的类中使用该 bean:
@Autowired
@Qualifier(value = "specificConnection")
private Destination specificConnection;
Run Code Online (Sandbox Code Playgroud)
然而,它似乎不起作用。ConnectionOne仅当我将布尔变量的值更改为 false 时,它才会继续返回。
我正在使用 Spring 版本 4.2.0 和 Wildfly Server。
如果需要进一步说明,请告诉我。
这是弹簧型材的完美示例!看看这个链接:
https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-profiles.html
在 Spring 中,您可以定义程序将在其中运行的不同配置文件。根据您在 application.properties 中定义的设置,您的程序将使用这些配置文件的不同 bean。:)
我希望这可以帮助你!
问候语
诺伊克斯
| 归档时间: |
|
| 查看次数: |
3283 次 |
| 最近记录: |