欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

springboot-01

时间:2023-06-17

前缀看狂老师的视频

可以通过在官网上创建项目,也可以使用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 maps; private List lists; private Dog dog;}

然后测试可以正常打印Person的属性

对于 @ConfigurationProperties()注解,需要导入pom依赖

org.springframework.boot spring-boot-configuration-processor true

其他方式都挺复杂的,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 #版本名称

原理再次跳过

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。