基本语法
- key: value情势,kv之间有空格
- 大小写敏感
- 使用缩进表示层级关系,缩进不允许使用tab,只允许空格。缩进的空格数不重要,只要类似层级的元素左对齐即可
- '#'表示注释
- 字符串无需加引号,假如要加,也可
数据类型
- 基本:date、boolean、string、number、null
- 对象:map、hash、set、object,键值对的集合
写法举例
行内写法
对象:
数组:
级联写法
对象:
- spring:
- cloud:
- nacos:
- discovery:
- username: nacos
- password: nacos
- server-addr: 192.168.1.61:8848
- namespace: cml
- config:
- server-addr: 192.168.1.61:8848
- file-extension: yaml
- namespace: public
复制代码 数组:
配置提示
- <!-- configuration-processor -->
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-configuration-processor</artifactId>
- </dependency>
-
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-maven-plugin</artifactId>
- <configuration>
- <excludes>
- <exclude>
- <groupId>org.projectlombok</groupId>
- <artifactId>lombok</artifactId>
- </exclude>
- <exclude>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-configuration-processor</artifactId>
- </exclude>
- </excludes>
- </configuration>
- </plugin>
- </plugins>
- </build>
复制代码 用法举例
逗号分隔
配置:
读取配置:
- @Value("#{'${test.list:}'.split(',')}")
复制代码 默认值
单个值
配置:
读取配置:
- @Value("${cml.age:18}")
- private String age;
- //如果没有 ngh.cameraIndexCodes 这个配置,或者这个配置为空,都将赋值默认值 ‘空字符串’
- @Value("${ngh.cameraIndexCodes:}")
- private String manoeuvreTip;
复制代码 集合值
配置:
读取配置:
- @Value("${autoLog.ignoreMethods:"login", "changePassword", "modifyPassword",
- "uploadFile", "downloadLatestFileByType", "syncPurchaseRequirement"}")
- private List<String> ignoreMethods;
复制代码 映射到类
配置:
- cml:
- admin:
- defaultUserName: admin
- defaultPassword: 111111
- defaultUserName1: admin1
- defaultPassword1: 222222
复制代码 读取配置:
- ConfigurationProperties注解将加载配置项内容到类属性上面
- Component:将类注册到 Spring 容器,这样其他类可以直接 Autowired 使用
- RefreshScope :配置更改,自动革新,不用重启启动服务
- @RefreshScope
- @Component
- @ConfigurationProperties(prefix = "cml.admin")
- @Data
- @ToString
- public class Account implements Serializable {
- private String defaultUserName;
- private String defaultPassword;
- private String defaultUserName1;
- private String defaultPassword1;
- }
复制代码 留意事项
- @Value 不可和@AllArgsConstructor 同时使用
引用
https://www.cnblogs.com/coderacademy/p/18181462
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |