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

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.

主站蜘蛛池模板: 惠东县| 郸城县| 洱源县| 静海县| 康平县| 陇西县| 绵竹市| 彩票| 桐乡市| 剑川县| 三河市| 高唐县| 甘德县| 颍上县| 衡山县| 昌黎县| 江阴市| 昌乐县| 南乐县| 河西区| 铁岭市| 芦溪县| 奉新县| 武平县| 界首市| 湖口县| 石楼县| 建平县| 安康市| 绥德县| 海口市| 乳山市| 平潭县| 阿勒泰市| 济宁市| 景东| 隆昌县| 昌乐县| 屏东市| 闽清县| 通渭县|