前缀看狂老师的视频
可以通过在官网上创建项目,也可以使用idea创建,创建时如图https://start.spring.io/
啥都不用修改,直接就可以运行该程序,端口号为8080
可以通过在application.properties中修改端口号 server.port=8081 就可以修改端口号了
可以通过新建 banner.txt 文件来修改生成时产生的图片,要确认文件走下方有一个小标志,如图
Ascii艺术字实现个性化Spring Boot启动banner图案,轻松修改更换banner.txt文件内容,收集了丰富的banner艺术字和图,并且支持中文banner下载,让你的banner好玩儿更有意思。-bootschool.net
所有文件都要建立在主运行程序同级目录下
直接运行程序就可以打开一个页面,也可以添加一个controller来运行
@RestController
@RequestMapping("/hello")
public class helloController {
@RequestMapping("/hello")
public String hello(){
return "hello";
}
}
第一个程序测试完成,创建极其简单,运行极其方便
原理没听懂,不是没听懂,压根就听不下去了呀,等以后如果渐渐的了解了再回头接着看
congif配置
yaml,spring官方推荐的配置文件格式,peoperties文件只能储存键值对
yaml里可以定义普通的键值对,对象,数组,要注意空格,要求十分高,可以注入到配置类中
# 普通的key-value
name: chend
# 对象
student:
name: chend
age: 3
#行内写法
students: {name: cd,age: 3}
#数组
pets:
- cat
- dog
- pig
pet: [cat,dog,pig]
yaml可以直接给实体类赋值,例如我们写一个Dog类
@Component //注册bean
public class Dog {
@Value("旺财")
private String name;
@Value("3")
private Integer age;
}
可以直接通过@Value()注解进行赋值,在test中 自动装配 上就可以取到这个值
@SpringBootTest
class Springboot02ConfigApplicationTests {
@Autowired
private Dog dog;
@Test
void contextLoads() {
System.out.println(dog);
}
}
通过yaml文件储存数据,需要yaml文件中数据的格式和类的属性一致,如图
yaml文件
person:
name: qinjiang
age: 3
happy: false
birth: 2000/01/01
maps: {k1: v1,k2: v2}
lists:
- code
- girl
- music
dog:
name: 旺财
age: 1
Person
@Data
@AllArgsConstructor
@NoArgsConstructor
@Component //注册bean,注册之后才能自动装配
@ConfigurationProperties(prefix = "person") //通过perfix指向yaml对应的文件
public class Person {
private String name;
private Integer age;
private Boolean happy;
private Date birth;
private Map maps;
private List
然后测试可以正常打印Person的属性
对于 @ConfigurationProperties()注解,需要导入pom依赖
org.springframework.boot spring-boot-configuration-processortrue
其他方式都挺复杂的,yaml挺简单,而且方法很多
jsr303数据校验
在实体类上使用 @Validated 进行数据校验,在属性上添加校验的模式
额,我在使用@Email注解时,显示不能用,不知道为啥暂时
解决@Email爆红,导入spring-boot-starter-validation依赖
org.springframework.boot spring-boot-starter-validation
常见的参数 @NotNull(message="名字不能为空")private String userName;@Max(value=120,message="年龄最大不能查过120")private int age;@Email(message="邮箱格式错误")private String email; 空检查@Null 验证对象是否为null@NotNull 验证对象是否不为null, 无法查检长度为0的字符串@NotBlank 检查约束字符串是不是Null还有被Trim的长度是否大于0,只对字符串, 且会去掉前后空格.@NotEmpty 检查约束元素是否为NULL或者是EMPTY. Booelan检查@AssertTrue 验证 Boolean 对象是否为 true @AssertFalse 验证 Boolean 对象是否为 false 长度检查@Size(min=, max=) 验证对象(Array,Collection,Map,String) 长度是否在给定的范围之内 @Length(min=, max=) string is between min and max included. 日期检查@Past 验证 Date 和 Calendar 对象是否在当前时间之前 @Future 验证 Date 和 Calendar 对象是否在当前时间之后 @Pattern 验证 String 对象是否符合正则表达式的规小样
多配置文件及路径:springboot可以写好几个配置文件的位置
有这4种,优先级如图
多环境配置:spring可以使用properties进行,也可以使用yaml进行切换
使用properties进行配置环境
分别给不同的配置文件设置不同的端口,默认是8080,通过在主配置文件中使用 spring.profiles.active= 文件名后缀 的方式修改使用的配置文件,如上图
使用yaml进行环境配置,配置如下,默认为最上面的版本
server:
port: 8080
spring:
profiles:
active: dev #选择激活哪个版本
--- #分割线
server:
port: 8081
spring:
config:
activate:
on-profile: dev #版本名称
---
server:
port: 8082
spring:
config:
activate:
on-profile: test #版本名称



