Springboot 外部化配置

Property values can be injected directly into your beans by using the @Value annotation
accessed through Spring's Environment abstraction or bound to structured objects through
@ConfigurationProperties

如何在Springboot内使用外部配置,有如下三种方法

1、Bean的@Value注解注入

@Value("${swagger.show:true}")
private boolean swaggerShow;

注意,这种方法无法将外部配置绑定到类的static属性上去,这个绑定的时机是在类实例化的时候。

2、Spring Enviroment读取

ConfigurableApplicationContext application = SpringApplication.run(Application.class, args);
Environment env = application.getEnvironment();
String port = env.getProperty("server.port");
String path = env.getProperty("server.servlet.context-path");

3、@ConfigurationProperties绑定到结构化对象

外部配置也是有先后顺序,级别高的可以覆盖级别低的配置。

比如命令行的配置,可以覆盖application.properties(我们常用的yaml)等配置

 

你可能感兴趣的:(java,java)