这个一般是用于写固定类的配置类的赋值,比如web开发中的数据库的链接,密码等等,springboot项目刚开始建立时properties,删了,官方推荐yml文件。新建个文件,命名application.yml即可。
SpringBoot使用一个全局的配置文件 , 配置文件名称是固定的
- application.properties
- 语法结构 : key=value
- application.yml
- 语法结构 :key:空格 value
- 以此来表示一对键值对(空格不能省略);以空格的缩进来控制层级关系,只要是左边对齐的一列数据都是同一个层级的。
-
“” 双引号,不会转义字符串里面的特殊字符 , 特殊字符会作为本身想表示的意思;
比如 : name: "kuang \n shen" 输出 : kuang 换行 shen
'' 单引号,会转义特殊字符 , 特殊字符最终会变成和普通字符一样输出
比如 : name: ‘kuang \n shen’ 输出 : kuang \n shen
- 数组( List、set )
pets:
- cat
1.配置很多属性,建立一个配置类,然后在类名上配置@configurationProperties(prefix=“xxx”),xxx时你的配置文件的名字,意思就是你的配置类会去xxx配置文档拿数据。
2.配置个别属性,可以在属性上加@value("属性值")
JSR303校验
@validated这个注解用于检测输入值是否符合,加入在类名上,比如检测邮箱格式可以使用@Email,其他格式可以点源码。
spring多环境配置
1.你配置文件放的位置也是有优先级的,springboot提供了四个地方,优先级如下。1级最高
file:./config/ //和src平级手动建立config
file:./ //直接在src平级建立一个yml文件
classpath:/config/ //在src下,和resource建立一个文件夹config
classpath:/
//在resource下建立一个yml
2.你在配置的时候配置内容会变,端口可能随时会改,测试和开发就可能不一样。所以可以使用spring.profiles.active: xxx来实现。推崇用yml,因为yml是多模块,通过“---”来分割
3.这个配置文件到底能配什么?
官方文档有写,就按照人家的顺着写就行了,配哪方面的ctrl+f搜一下。既然是配置,就肯定实在一定条件下生效,所以最好在项目中找到spring.factories这个文件,点进去,就能看到你配置的类的条件,能配置的属性就是点进去看到的类的属性
具体路径是jar包下的Autoconfiguration---MENTA-INF文件。
4.怎么看你的配置有没有生效
yml最顶部写
有三种1.postive match 表示生效,2.nagetive match不生效,3.exclusion 没条件的
静态资源访问方法
也就是http://localhost:端口号/XX,即可访问。具体:https://www.jianshu.com/p/66d1b35bcd9d
自己也可以写一个starter,不用web的starter,怎么写?
就是自己写个配置类,继承webMvcConfiguration,绝对不要加enableWebMvc这个注解,点进去源码。会发现有个类的条件是:
一旦这个类出现,自己的配置全部不会生效
jar包里带utils的一般是可以直接使用的。