官术网_书友最值得收藏!

Externally configuring application properties

Spring Boot allows you to create your own customized configuration of application properties with beans. You can register these beans as properties with Spring Boot by using the @ConfigurationProperties annotation, and after this, you can set these properties by using either the application.properties or application.yml file.

Spring Boot provides alternative ways of working with properties that allow you to strongly type safe beans and validate the configuration of your application. Let's see the use of the @ConfigurationProperties annotation for a dedicated container bean:

  • This @ConfigurationProperties annotation will hold the externalized properties
  • It avoids repeating the prefix
  • Data members automatically set from corresponding properties

Let's see the following example:

 @Component 
@ConfigurationProperties(prefix="accounts.client") 
public class ConnectionSettings { 
   private String host; 
   private int port; 
   private String logdir; 
   private int timeout; 
   ... 
   // getters/setters 
   ... 
}

This POJO defines the following properties in the application.properties file:

accounts.client.host=192.168.10.21 
accounts.client.port=8181 
accounts.client.logdir=/logs 
accounts.client.timeout=4000 

You could set these properties as environment variables, or you could specify these properties as command-line arguments, or you can add these in any of the other places where configuration properties can be set.

Don't forget to add @EnableConfigurationProperties in one of your Spring configuration classes because the @ConfigurationProperties annotation won't work unless you have enabled it by adding the @EnableConfigurationProperties annotation.

主站蜘蛛池模板: 高碑店市| 平果县| 措美县| 竹北市| 兴义市| 紫阳县| 通道| 凯里市| 甘孜| 竹山县| 甘德县| 新河县| 徐州市| 绥棱县| 老河口市| 吉首市| 新丰县| 东乌珠穆沁旗| 凤凰县| 清苑县| 广元市| 临安市| 南丹县| 平阳县| 山东省| 淳化县| 新宾| 永丰县| 安泽县| 大足县| 嵩明县| 平凉市| 南宫市| 惠安县| 庆元县| 竹山县| 三门县| 竹山县| 连江县| 泗阳县| 阳原县|