SpringBoot 的配置文件

it2022-05-05  161

SpringBoot 下的配置文件 有两种(名字是固定的)  当项目中有两个文件时 application.properties的优先级更高

application.propertiesapplication.yml

两种的作用是一样的 只是写法不一样 

就比如 你要配置端口号 

application.properties

server.port=80

application.yml 

server: port: 80我这主要记录 yml 配置文件 字符串默认不要加 双引号 或单引号"":双引号 不会转义特殊字符串 例如 "zhang \n san" 输出就是 zhang 换行 san'':单引号 会转义特殊字符串 例如 'zhang \n san' 输出就是 zhang \n san

yml 有map 属性 yml 在 : 之后都要空一格在写值

friends: name: zhangsan age: 20

 行内写法

friends: {name: zhang,age: 20} list  fruit: - apple - apple - grape #行内写法 fruit: [apple,apple,grape] 配置文件值的注入 yml的配置文件写法 person: last-name: lisi age: 22 boss: true birth: 2019/07/02 map: {k1: v1,k2: v2} list: [a1,a2,a3] dog: name: xiao age: 2

  properties下配置文件的写法

person.last-name=lishi person.age=18 person.birth=1997/02/02 person.boss=true person.map.k1=12 person.map.k2=24 person.list=1,2,3 person.dog.name=xiao person.dog.age=2

 

@Component//这个注解表示 把下面的注解加到容器当中去 这样才会起作用 @ConfigurationProperties(prefix = "person")//person 对应的是配置文件的参数名 public class ConfigurationModel { private String lastName; private Integer age; private boolean boss; private Date birth; private Map<String,Object> map; private List<Object> list; private Dog dog; } <!--导入配置文件处理器 配置文件进行绑定就会有提示 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency>

 绑定语法 除了 

@ConfigurationProperties(prefix = "person")外 还可以 @Value("${person.last-name}") private String lastName; @Value("#{11*2}") private Integer age; @Value("true") private boolean boss;

用 @Value() 进行单个绑定 

@Value() 支持 sqEL

 

比如 

@Value("#{11*2}")//可以  person.age=#{11*2}//类型转换异常

@Value() 不支持 JSR303 数据校验

@Component @ConfigurationProperties(prefix = "person")//支持邮箱验证 @Validated public class ConfigurationModel { //@Value("${person.last-name}")//不支持邮箱验证 @Email private String lastName; @Value("#{11*2}") private Integer age; @Value("true") private boolean boss; private Date birth; private Map<String,Object> map; private List<Object> list; private Dog dog;

我是观看的别人的视频敲的 写博客 就相当于做个笔记 

视频地址

https://www.bilibili.com/video/av38657363/?p=14

 

 

 

转载于:https://www.cnblogs.com/closeIt/p/11116248.html


最新回复(0)