下面显示了项目结构
Core Project
|-config project
|
|-Service project
构建核心项目后,我们获得Service.jar文件。
运行service.jar时,将spring.config.additional.location
作为命令行参数传递。
java -jar Service-1.0.jar --spring.config.additional-location=C:/Users/Administrator/Desktop/Springboot/
在spring.config.additional.location
路径上方,具有application.property文件和一些xml文件。
我可以按照逻辑读取服务项目中的应用程序属性文件
Application.propertes
external.config=C:/Users/Administrator/Desktop/Springboot/config/
棉班
@ImportResource(locations = {
"${external.config}"+"/spring/service-config.xml",
"${external.config}"+"/spring/datasource-config.xml"
})
public class ServiceMain {
public static void main(String[] args) {
ConfigurableApplicationContext applicationContext = new SpringApplicationBuilder(ServiceMain.class)
.build()
.run(args);
for (String name : applicationContext.getBeanDefinitionNames()) {
}
}
}
下面给出了在配置项目中应用的类似逻辑,它不起作用
@Configuration
public class ConfigurationFactory
{
@Value("${external.config}")
public String extConfPath;
public String REQ_CONF = extConfPath+"/Configuration.xml";
public static final String FILTER_XML_CONF = extConfPath+"/DocFilter.xml";
}
还有更好的方法吗?我如何在配置项目中读取外部application.properties 在春季启动时,我们还有更好的方法吗