方法一:前往官网创建。链接:https://start.spring.io/
方法二:通过idea创建。
两者本质是相同的,idea集成了Spinrg Initializr。
打包将项目打包成jar包。
如果出现org.apache.maven.surefire:surefire-junit4:jar:2.18.1的错误,说明maven没有配置打包所需要的插件。
解决方法()在pom.xml配置插件:
springApplicationorg.apache.maven.plugins maven-surefire-plugin2.18.1 true
完成以下操作:
- 推断应用类型是普通的项目还是Web项目。
- 查找并加载所有可用的初始化器,设置initializers属性中。
- 找出所有的应用程序监听器,设置到listenters属性中。
- 推断并设置main方法的定义类,找到运行的主类。
yaml:用于设置application的格式。(缩进表层级)
server:
port: 8080
#普通元素
key: k
#对象写法一
obj:
name: hfw
age: 18
#对象写法二
obj2: {name: hfw, age: 18}
#数组写法一
arr:
-cat
-dog
-animal
#数组写法二
arr2: [cat, dog, animal]
和properties文件相比,properties的文件是使用key=value的写法,而yaml文件使用 key:空格value。
使用注解
此处会爆红,但不影响使用
如果要解决此爆红 ,那就添加以下依赖
org.springframework.boot spring-boot-configuration-processortrue
@ConfigurationProperties(prefix = "yaml文件中对应的项"),可以让类读取yaml文件中对应的数据。
如果要用properties文件读取数据的话,就使用@PropertySource(value="classpatch: 对应的properties文件名"),然后通过@value("数据")对类的属性进行赋值。
el表达式在yaml中的用法:可以将一个为存在的属性设置默认值。
dog:
name: ${person.age}_张三
age: 4
如果person.age不存在的话,默认值就为_张三,如果存在的话就会先读取person.age然后和_张三拼接。
@ConfigurationProperties和@Value的区别
JSR303@Validated: 数据校验启动器。
使用@Validated的依赖为下:
javax.validation
validation-api
2.0.1.Final
有了Validated我们就可以使用校验注解了,如: @Email(message="对应的错误提示"),括号中的属性为可选项。
JSR303校验对应的注解为下:
多环境配置一般application的配置文件的命名方法为: application-(对应的数据).properties,为了能够激活其他的配置文件,我们可以在appliation中写:spring.profiles.active=对应的数据。
如果使用yaml的话,那就直接写在application.yaml中,通过'---'分隔。
例子为下:
server:
port: 8084
spring:
profiles:
# 激活方法
active: use
---
server:
port: 8085
profile: test
---
server:
port: 8088
profile: use
自动装配的原理
- SpringBoot启动回加载大量的自动配置类。
- 我们看我们需要的功能有没有在SpringBoot默认写好的自动装配类当中。
- 我们再来看这个自动装配类中到底配置了哪些组件;(只要我们要用的组件存在其中,我们就不需要再手动配置了)
- 给容器中配置类添加组件的时候,会从properties类中获取某些属性。我们只需要在配置文件中指定这些属性的值即可。
- xxxxAutoConfiguration:自动配置类;给容器中添加组件
- xxxxProperties:封装配置文件中相关的属性;
debug: 如果想要查看自动装配的类是否生效,那我们就可以在application中架入以下代码。
debug: true静态资源导入
在SpringBoot中,我们可以使用以下方式处理静态资源
1.webjar localhost:8080/webjars/
2.public ,static, /**, resources localhost/8080/
访问优先级: resources>static>public
在templates下的资源,只能通过controller访问。
设置页面的小图标:通过在static创建一文件叫favicon.ico,将图片放入其中。
Thymeleaf其对应的依赖为下:
org.thymeleaf thymeleaf3.0.13.RELEASE



