这个一般是用于写固定类的配置类的赋值,比如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

 

能配什么https://docs.spring.io/spring-boot/docs/2.1.6.RELEASE/reference/htmlsingle/#common-application-properties官方文档

1.配置很多属性,建立一个配置类,然后在类名上配置@configurationProperties(prefix=“xxx”),xxx时你的配置文件的名字,意思就是你的配置类会去xxx配置文档拿数据。

2.配置个别属性,可以在属性上加@value("属性值")

 

JSR303校验

@validated这个注解用于检测输入值是否符合,加入在类名上,比如检测邮箱格式可以使用@Email,其他格式可以点源码。

 

spring多环境配置

1.你配置文件放的位置也是有优先级的,springboot提供了四个地方,优先级如下。1级最高

  1. file:./config/    //和src平级手动建立config
  2. file:./        //直接在src平级建立一个yml文件
  3. classpath:/config/  //在src下,和resource建立一个文件夹config
  4. classpath:/                 //在resource下建立一个yml

2.你在配置的时候配置内容会变,端口可能随时会改,测试和开发就可能不一样。所以可以使用spring.profiles.active: xxx来实现。推崇用yml,因为yml是多模块,通过“---”来分割

 

 

 3.这个配置文件到底能配什么?

官方文档有写,就按照人家的顺着写就行了,配哪方面的ctrl+f搜一下。既然是配置,就肯定实在一定条件下生效,所以最好在项目中找到spring.factories这个文件,点进去,就能看到你配置的类的条件,能配置的属性就是点进去看到的类的属性

具体路径是jar包下的Autoconfiguration---MENTA-INF文件。

https://docs.spring.io/spring-boot/docs/2.1.6.RELEASE/reference/htmlsingle/#common-application-properties

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的一般是可以直接使用的。

posted on 2020-02-19 17:31  纯正肉包  阅读(530)  评论(0编辑  收藏  举报