目录
一、环境准备
二、构建spring项目
1、方式一:使用Spring Initializr的web 页面创建项目:
2、方式二:使用IDEA直接创建项目
3、方式三:使用idea创建项目
4、使用 IDEA 创建Maven项目并改造为springBoot项目
5、将项目打jar包
三、springboot核心配置
1、banner修改:
1、方式一:文本txt方式,
2、方式二
2、Spring Boot配置文件分类
1、yaml概述:(简洁,以数据为核心)
2、yaml 基础语法
3、yaml读取配置内容
1. 逐个注入:@Value (不支持复杂数据类型
2. 批量注入:1.@ConfigurationProperties 2.Environment类
3. 对比
4、 JSR303数据校验 (检查属性赋值是否符合规范)
JSR303校验注解的使用步骤
1.添加依赖,导入spring-boot-starter-validation启动器
2.在实体类需要校验的成员字段(Field)上,添加校验注解。
3.在Controller控制器的校验参数前,使用@Valid注解开启校验,使用BindingResult 绑定校验结果
4、常用注解
一、环境准备
- java Version :1.8
- Maven:3.6以上
- SpringBoot:2.X最新版
二、构建spring项目
1、方式一:使用Spring Initializr的web 页面创建项目:
1. 打开 https://start.spring.io/
2. 填写项目信息
3. 点击”Generate Project“按钮生成项目;下载此项目
4. 解压项目包,并用IDEA以Maven项目导入,一路下一步即可,直到项目导入完毕。
5. 如果是第一次使用,可能速度会比较慢,包比较多、需要耐心等待一切就绪。
2、方式二:使用IDEA直接创建项目
1、创建一个新项目
2、选择SpringBoot,可以看到默认就是去官网的快速构建工具那里实现
3、填写项目信息
4、选择未初始化的组件(初学勾选web)
5、填写项目路径
6、等待项目构建成功
7、配置MAVEN信息和更换jdk版本
3、方式三:使用idea创建项目
(与方式二相同,路径不同:https://start.aliyun.com)
4、使用 IDEA 创建Maven项目并改造为springBoot项目
1. 程序的主启动类
2. 一个 application.properties 配置文件
3. 一个 测试类
4. 一个 pom.xm
//pom 文件spring boot主坐标(依赖)
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-test
test
5、将项目打jar包
1、点击package

2、可以通过cmd之既然运行jar包:Java -jar jar包名
三、springboot核心配置
1、banner修改:
1、方式一:文本txt方式,
- 在resources 目录下新建一个banner.txt,
- 图案可以到: https://www.bootschool.net/ascii 这个网站生成,然后拷贝到文件中即可,
- 设置图片作为banner :在配置文件中添加
spring.banner.image.location=logo.png
2、方式二
- 直接将图片移到resources目录下,改名为banner
- 关闭其他banner设置
- 直接启动项目
2、Spring Boot配置文件分类
SpringBoot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话,就可以使用 application.properties或者application.yml(application.yaml)进行配置
- application.properties 语法结构 :key=value
server.port=8081
- application.yml 语法结构 :key:空格 value (冒号后面必须要有空格)
server: port: 8081
1、yaml概述:(简洁,以数据为核心)
YAML全称是 YAML Ain't Markup Language 。YAML是一种直观的能够被电脑识别的的数据序列化格式, 并且容易被人类阅读,容易和脚本语言交互的,可以被支持YAML库的不同的编程语言程序导入,比如: C/C++, Ruby, Python, Java, Perl, C#, PHP等。YML文件是以数据为核心的,比传统的xml方式更加简洁。 YAML文件的扩展名可以使用.yml或者.yaml。
server.port=8080
server.address=127.0.0.1
<server>
<port>8080</port>
<address>127.0.01</address>
<server>
server: port: 8080
address: 127.0.0.1
2、yaml 基础语法
- 1、大小写敏感
- 2、数据值前必须要有空格,作为分隔符
- 3、使用缩进表示层级关系
- 4、缩进时不使用tab键,值允许使用空格()各个系统对应的Tab空格数可能不同,导致层次结构发生变化
- 5、缩进的空格数目不重要,只要相同层级的元素左侧对其即可
- 6、'#'表示注释,从这个字符一致到行尾,都会被解析器忽略
#################yml语法数据类型######################
######基本数据类型与string##########
boolean: true
float: 3.14
int: 18
String: 张三
#########类型二:数组单列list set array##############
adress:
- 北京
- 上海
- 南京
- 成都
#行类写法:
adress1: [ 北京,上海,南京,成都 ]
########类型二 集合 多列#############
person:
name: 张三
age: 25
sex: 男
#行内写法
person1: { name: 张三,age: 16,sex: 男 }
#########对象集合 集合【person】############
#1
people:
- name: 张三
age: 24
sex: 男
- name: 李四
age: 25
sex: 女
#2
people2:
- name: 张三
age: 24
sex: 男
- name: 李四
age: 25
sex: 女
#行类写法
people1: [ { name: 张三,age: 24,sex: 男 },{ name: 李四,age: 25,sex: 女 } ]
pepole2:
- { name: 张三,age: 24,sex: 男 }
- { name: 李四,age: 25,sex: 女 }
#########YAML: 参数引用-特殊应用############
name: 张三
user:
name: 李四
father: ${name}
3、yaml读取配置内容
yaml文件更强大的地方在于,他可以给我们的实体类直接注入匹配值! 支持方式:
1. 逐个注入:@Value (不支持复杂数据类型
//yaml配置
persons1:
name: 张三
age: 25
happy: true
birth: 2002/9/11
maps: {k1: v1,k2: v2}
lists: [1,2,3,4]
dog:
name: 旺财
age: 3
@Component
@ConfigurationProperties(prefix = "person1") // 读取配置文件中的 persons 前缀的属性
//@PropertySource ("classpath:person1.properties") :加载指定的配置文件;
public class Persons {
@Value("${person1.name}")
private String name;
@Value("${person1.age}"
private Integer age;
@Value("${person1.happy}")
private Boolean happy;
@Value("${person1.birth}")
private Date birth;
// @Value("${person1.maps}") 不支持复杂数据类型
private Map maps;
// @Value("${person1.lists}")
private List