spring boot启动时加载外部配置文件的方法

网友投稿 514 2023-02-18


spring boot启动时加载外部配置文件的方法

前言

相信很多人选择Spring Boot主要是考虑到它既能兼顾Spring的强大功能,还能实现快速开发的便捷。本文主要给大家介绍了关于spring boot启动时加载外部配置文件的相关内容,下面话不多说了,来随着一起学习学习吧。

业务需求:

加载外部配置文件,部署时更改比较方便。

先上代码:

@SpringBootApplication

public class Application {

public static void main(String[] args) throws Exception {

SpringApplicationBuilder springApplicationBuilder = new SpringApplicationBuilder(Application.class);

springApplicationBuilder.web(true);

Properties properties = getProperties();

StandardEnvironment environment = new StandardEnvironment();

environment.getPropertySources().addLast(new PropertiesPropertySource("micro-service", properties));

springApplicationBuilder.environment(environment);

springApplicationBuilder.run(args);

}

private static Properties getProperties() throws IOException {

PropertiesFactoryBean propertiesFactoryBean = new PropertiesFactoryBean();

ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();

propertiesFactoryBean.setIgnoreResourceNotFound(true);

Resource fileSystemResource = resolver.getResource("file:/opt/company/test.properties");

propertiesFactoryBean.setLocations(fileSystemResource);

propertiesFactoryBean.afterPropertiesSet();

return propertiesFactoryBean.getObject();

}

}

使用变量的工具类

@Component

public class EnvironmentUtil {

private static Environment environment;

@Autowired

public void setEnvironment(Environment environment) {

EnvironmentUtil.environment = environment;

}

public static T gMNtgTAetProperty(String key, Class targetType, T deMNtgTAfaultValue) {

return environment.getProperty(key, targetType, defaultValue);

}

public static T getProperty(String key, Class targetType) {

return environment.getProperty(key, targetType);

}

public static String getProperty(String key) {

return environment.getProperty(key);

}

public static String getProperty(String key, String defaultValue) {

return environment.getProperty(key, defaultValue);

}

public static Integer getInteger(String key, Integer defaultValue) {

return environment.getProperty(key, Integer.class, defaultValue);

}

}

也可以通过@Value("${key}")使http://用

这中加载方法优先级很高,如果与spring boot配置文件同名,将覆盖application.properties文件中的配置。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Spring boot 总结之跨域处理cors的方法
下一篇:Hibernate hql查询代码实例
相关文章

 发表评论

暂时没有评论,来抢沙发吧~