Spring Boot
一、 了解主启动类怎么运行的
1、Run:最初以为就是运行一个main方法、没想到却启动了一个服务。
2、SpringApplication.run分析
1、分析该方法主要分两部分:一部分是SpringApplication的实例化、二是run方法的执行
3、SpringApplication这个类主要做了一下四件事
1、推断应用的类型是普通的项目还是web项目
2、查找并加载所有可用初始化器、设置到initializers属性中
3、推断并设置main方法的定义类、找到运行的类
二、 Spring Boot:配置文件及自动配置原理
1、配置文件
1、Spring Boot使用一个全局的配置文件、配置文件名称是固定的
2、application.properties 语法结构:key=value
3、application.yml 语法结构:key= 空格value
2、配置文件的作用
1、修改Spring Boot自动配置的默认值、因为Spring Boot在底层都给我们自动配置好了。
三、yaml语法
YAML是(YMAL 不是一种标记语言)的递归缩写。在开发的这种语言时、YAML的意思其实是(仍是一种标记语言)、但为了强调这种语言以数据为中心、而不是以标记语言为重点、而用反向缩略语重命名。
1、标记语言
以前的配置文件,大多数都是使用xml来配置、比如一个简单的端口配置、我们对yaml和xml。
2、yaml语法
1、基础语法
以此来表示一对键值对(空格不能省略)、以空格的缩进来控制层级关系、主要是 左边对齐的一列数据都是同一个层级的。
注意:属性和值的大小写都是十分敏感的、例子
3、值的写法
1、字面量:普通的值【数字、布尔值、字符串】
2、爆红解决方法
在pom.xml里面添加一个配置就解决了爆红的问题!!!
@PropertySource(value = “…”):加载指定的配置文件
4、松散绑定:这个是什么意思呢?比如我的yml中写的last-name、这个和lastNname是一样的、后面跟着的字母是大写的、这就是松散绑定。
5、JSR303数据校验:这个就是我们可以在字段是增加一层过滤器验证、可以保证数据的合法性。
6、复杂类型封装:yml中可以封装对象、使用@value就不支持
7、结论:1、配置yml和配置properties都可以获取值、强烈推荐yml。2、如果我们在某个业务中、只需要获取配置文件中的某个值、可以使用一下@value。3、如果说、我们专门编写了一个javaBean来和配置文件进行映射、就直接使用@configurationProperties、不要犹豫!
四、JSR303校验
Spring-boot中可以用@validated来校验数据、如果数据异常则会统一抛出异常、方便异常中心统一处理、我们这里来写个注解让我们的name只能支持Emanil格式。
五、自动配置原理再理解
【无标题】
最新推荐文章于 2024-10-08 13:19:19 发布