我有2个@Component
类:AppConfig
从Consul服务器加载属性,JpaConfig
使用env
加载@Bean
通过AppConfig
加载的属性设置@Bean
@Order(Ordered.HIGHEST_PRECEDENCE)
Void consulProperties() {
//setting environment...
}
。所以有两个豆子:
JpaConfig
在@Bean
// @DependsOn("consulProperties")
public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
LocalContainerEntityManagerFactoryBean factoryBean = new LocalContainerEntityManagerFactoryBean();
//some more logic
return factoryBean;
}
中排名第二:
@DependsOn("consulProperties")
如果没有consulProperties
,这不起作用。它在consulProperties
之前启动,当时尚未设置环境。所有其他bean似乎等待LocalContainerEntityManagerFactoryBean
罚款...为什么?我该怎么办?是@DependsOn
- 具体的功能吗?如何确保bean首先运行而不指定@import "bootstrap/glyphicons";
?
答案 0 :(得分:1)
尝试将consulProperties()
实现为bean(不是Void
类型)并将其作为参数注入entityManagerFactory()
方法。