Web应用的编写规范
1.引入场景依赖
就是外面一开始要在pom文件里加入现在我们需要做什么项目的各种依赖
其他的场景(官方文档):
https://docs.spring.io/spring-boot/docs/current/reference/html/using-spring-boot.html#using-boot-starter
2.查看都自动配置了哪些东西
(1)自己查看jar包,自己分析,引入的场景一般都生效了,但是这种方法不明确,我们一般用第二种
(2)直接在配置文件加debug=true,这样控制台就会打印哪些生效,哪些不生效
不生效
生效
3.对配置的细节进行修改
(1)参照官方文档对配置文件进行修改:Common Application Properties
(2)自己分析,xxxxProperties绑定了配置文件的哪些
一般使用第一种,比较方便
4.自定义或者替换组件
使用@Bean或者@Component注解进行添加修改就可以了
Lombok组件
作用:之前我们对于一个类需要写get,set,toString方法,加了这个组件,可以使用注解代替
用法:
1.导入依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
2.在插件中添加
3.使用注解
@Data注解:自动生成get,set方法
@ToString注解:自动生成toString方法
@AllArgsConstructor注解:自动生成全参构造器方法
@NoArgsConstructor注解:自动生成无参构造器方法
如果我们想自己进行某一部分定义怎么办?
比如现在
我们想要的有参构造器只需要两个属性,但是user类之中有三个属性
直接在user类下面自己手写就可以了
会优先使用我们自己写的
@Slf4j注解:可以在控制台日志进行打印输出,而不是控制台最下面
dev-tools
作用:加入这个工具,现在直接Ctrl+F9就可以对项目重新部署,这样以后在写静态页面的时候写完了直接快捷键就可以刷新页面
用法:
引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
使用快捷键
Spring Initailizr(项目初始化向导)
作用:优化我们每次创建项目需要导入的初始依赖,省去新建项目的麻烦
用法:
1.新建项目
2.对参数进行调节 (注意调整包名)
3.选取场景与自己想用的工具
4.调整目录结构并且使用
我们发现已经帮我们建立好了目录结构和导入了我们之前设定的springboot和其他的工具依赖
但是我们的jdk版本是17,分明设置的8,这是因为
手动修改springboot版本和jdk
我们发现不仅是我们一开始选择好的依赖,它还帮助我们加好了单元测试依赖和打包依赖,
非常好用
yaml配置文件
简介:
总之现在非常主流的配置文件都是yaml
基本语法:
数据类型:
示例:
现在有一个person类,在yaml文件里配置一些它的初始属性
配置初始属性
以前的方式:
现在的方式:
1.新建yaml文件
如果有这种情况,则他们都生效
2.加注解,使得person类与我们的yaml配置文件绑定(其实和原来的一样)
注入容器并且绑定配置文件
这样就会找yaml文件中以person开头的属性进行配置
3.书写yaml文件
注意:以换行表名为当前内容的数值,譬如说我们想写person的东西就要
对于其他的属性 (直接再冒号后书写就行)
注意: 日期类型用斜杠分隔,数组类型用 [ ] 填充或者换行前面加 -
键值对类型用 { 键:值,键:值 }
书写对象类型
书写对象集合类型(分为健康的和生病的)
要注意空格!!!!
测试成功:
使用yaml的好处
因为yaml首行缩进的格式,我们可以清晰的看到spring里都配了什么,上面就同时配置了banner和cache,易读性增加了
而且不用给字符串加上单引号或者双引号
但是字符串转义的问题如何解决?
对于自定义类绑定配置处理器
我们在写yaml文件的person的时候没有提示,可以通过加如下依赖让它可以提示
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
可以了,但是这个配置处理器只是方便我们在编程的时候使用,在打包发给别人的时候其他人不需要,而且占用空间,可以添加如下依赖让打包的时候不把配置处理器放进去
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>