我创建了一个springboot自动配置程序项目,该项目将用于通过api获取机密,并将所有属性添加到环境属性源中,该项目将用作其他项目中的依赖项。
在本项目中
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(name="fetchSecrets", havingValue ="true")
@AutoConfigureOrder(-1)
@AutoConfigureBefore({JndiDataSourceAutoConfiguration.class, DataSourceProperties.class, DataSourcePoolMetadataProvidersConfiguration.class, DataSourceAutoConfiguration.class})
class PropertyAutoConfiguration{
@Autowired
Environment env;
@Autowired
ApplicationContext context;
private ConfigurableEnvironment environment;
@Bean
public void fetchSecrets(){
/* Here i am doing some processing and fetching all secrets like spring.datasource.url=, spring.datasource.username=, spring.datasource.password= etc through api and adding to secrets as environment.getPropertySources().addFirst(new PropertiesPropertySource("props", props));
*/
}
}
此类也在meta inf/spring.factories中定义
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.visa.vrol.vault.PropertyAutoConfiguration
这个项目jar作为依赖项添加到另一个springboot项目中。
我希望在datasourceautoconfiguration.class之前调用这个类propertyautoconfiguration,这样所有的spring数据源url、用户名、密码都会通过api获取并添加到环境propertysources中,但是在datasourceautoconfiguration之前没有调用这个类,并且没有指定datasource url属性。
暂无答案!
目前还没有任何答案,快来回答吧!