前缀看狂老师的视频
可以通过在官网上创建项目,也可以使用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-valuename: chend# 对象student: name: chend age: 3#行内写法students: {name: cd,age: 3}#数组pets: - cat - dog - pigpet: [cat,dog,pig]
yaml可以直接给实体类赋值,例如我们写一个Dog类
@Component //注册beanpublic class Dog { @Value("旺财") private String name; @Value("3") private Integer age;}
可以直接通过@Value()注解进行赋值,在test中 自动装配 上就可以取到这个值
@SpringBootTestclass Springboot02ConfigApplicationTests {@Autowiredprivate Dog dog;@Testvoid 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
然后测试可以正常打印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: 8080spring: profiles: active: dev #选择激活哪个版本--- #分割线server: port: 8081spring: config: activate: on-profile: dev #版本名称---server: port: 8082spring: config: activate: on-profile: test #版本名称