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

  • Mastering Spring Boot 2.0
  • Dinesh Rajput
  • 215字
  • 2021-06-25 21:29:15

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.

主站蜘蛛池模板: 理塘县| 义马市| 濉溪县| 刚察县| 兴业县| 永修县| 盐池县| 台东县| 永吉县| 平原县| 南京市| 襄樊市| 社旗县| 松原市| 宣化县| 古蔺县| 临邑县| 南澳县| 利辛县| 治多县| 九台市| 射洪县| 鄂伦春自治旗| 台山市| 平舆县| 凤庆县| 偏关县| 临海市| 新津县| 兴安县| 石泉县| 隆德县| 施秉县| 淮南市| 井陉县| 睢宁县| 彰武县| 顺平县| 青浦区| 柘荣县| 逊克县|