SpringBoot配置文件

打印 上一主题 下一主题

主题 806|帖子 806|积分 2418

基本语法



  • key: value情势,kv之间有空格
  • 大小写敏感
  • 使用缩进表示层级关系,缩进不允许使用tab,只允许空格。缩进的空格数不重要,只要类似层级的元素左对齐即可
  • '#'表示注释
  • 字符串无需加引号,假如要加,也可
数据类型



  • 基本:date、boolean、string、number、null
  • 对象:map、hash、set、object,键值对的集合
写法举例

行内写法

对象:
  1. k: {k1:v1,k2:v2,k3:v3}
复制代码
数组:
  1. k: [v1,v2,v3]
复制代码
级联写法

对象:
  1. spring:
  2.   cloud:
  3.     nacos:
  4.       discovery:
  5.         username: nacos
  6.         password: nacos
  7.         server-addr: 192.168.1.61:8848
  8.         namespace: cml
  9.       config:
  10.         server-addr: 192.168.1.61:8848
  11.         file-extension: yaml
  12.         namespace: public
复制代码
数组:
  1. cml:
  2.   - 1
  3.   - 2
  4.   - 3
复制代码
配置提示

  1.     <!-- configuration-processor  -->
  2.         <dependency>
  3.             <groupId>org.springframework.boot</groupId>
  4.             <artifactId>spring-boot-configuration-processor</artifactId>
  5.         </dependency>
  6.         
  7.     <build>
  8.         <plugins>
  9.             <plugin>
  10.                 <groupId>org.springframework.boot</groupId>
  11.                 <artifactId>spring-boot-maven-plugin</artifactId>
  12.                 <configuration>
  13.                     <excludes>
  14.                         <exclude>
  15.                             <groupId>org.projectlombok</groupId>
  16.                             <artifactId>lombok</artifactId>
  17.                         </exclude>
  18.                         <exclude>
  19.                             <groupId>org.springframework.boot</groupId>
  20.                             <artifactId>spring-boot-configuration-processor</artifactId>
  21.                         </exclude>
  22.                     </excludes>
  23.                 </configuration>
  24.             </plugin>
  25.         </plugins>
  26.     </build>
复制代码
用法举例

逗号分隔

配置:
  1. test:
  2.     list: aaa,bbb,ccc
复制代码
读取配置:
  1. @Value("#{'${test.list:}'.split(',')}")  
复制代码
默认值

单个值

配置:
  1. cml:
  2.   age: 20
复制代码
读取配置:
  1. @Value("${cml.age:18}")
  2. private String age;
  3. //如果没有 ngh.cameraIndexCodes 这个配置,或者这个配置为空,都将赋值默认值 ‘空字符串’
  4. @Value("${ngh.cameraIndexCodes:}")
  5. private String manoeuvreTip;
复制代码
集合值

配置:
  1. autoLog:   
  2.   ignoreMethods:
复制代码
读取配置:
  1. @Value("${autoLog.ignoreMethods:"login", "changePassword", "modifyPassword",
  2. "uploadFile", "downloadLatestFileByType", "syncPurchaseRequirement"}")
  3. private List<String> ignoreMethods;
复制代码
映射到类

配置:
  1. cml:
  2.   admin:
  3.     defaultUserName: admin
  4.     defaultPassword: 111111
  5.     defaultUserName1: admin1
  6.     defaultPassword1: 222222
复制代码
读取配置:


  • ConfigurationProperties注解将加载配置项内容到类属性上面
  • Component:将类注册到 Spring 容器,这样其他类可以直接 Autowired 使用
  • RefreshScope :配置更改,自动革新,不用重启启动服务
  1. @RefreshScope
  2. @Component
  3. @ConfigurationProperties(prefix = "cml.admin")
  4. @Data
  5. @ToString
  6. public class Account  implements Serializable {
  7.     private  String defaultUserName;
  8.     private  String defaultPassword;
  9.     private  String defaultUserName1;
  10.     private  String defaultPassword1;
  11. }
复制代码
留意事项



  • @Value 不可和@AllArgsConstructor 同时使用
引用

https://www.cnblogs.com/coderacademy/p/18181462

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

何小豆儿在此

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表