Spring Boot 主要提供了如下功能:
为所有基于 Spring 的 Java 开发提供方便快捷的入门体验。
开箱即用,有自己自定义的配置就是用自己的,没有就使用官方提供的默认的。
提供了一系列通用的非功能性的功能,例如嵌入式服务器、安全管理、健康检测等。
1.项目创建
(1)工具:idea、eclipse
(2)在线:https://start.spring.io/
(3)maven
1.maven项目添加依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.5.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
2.添加启动类
3.application.properties/application.yaml
springboot中的parent依赖
项目初始创建成功之后项目中就会包含
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.5.RELEASE</version>
<relativePath/>
</parent>
<properties>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
parent的作用为:java版本、编译编码格式utf-8、包含组件依赖版本号这样部分依赖不需要写版本号了
SpringBoot 提供了自动化配置解决方案,在这个包中包含了许多组件的自动化配置
org.springframework.boot.autoconfigure
项目启动方式
java -jar XXX.jar
2.配置文件 application.properties
这四个位置是默认位置,即 Spring Boot 启动,默认会从这四个位置按顺序去查找相关属性并加载。但是,这也不是绝对的,我们也可以在项目启动时自定义配置文件位置。
项目启动时指定配置文件位置
java -jar properties-0.0.1-SNAPSHOT.jar --spring.config.location=classpath:/javaboy/
配置文件的名称默认为application ,但这也不是必须的,也可以自定义名称app.properties,
项目启动时指定配置文件名称
java -jar properties-0.0.1-SNAPSHOT.jar --spring.config.name=app
配置文件的名称和位置可以同时自定义。
可以完成属性注入@PropertySource(“classpath:app.properties”)
#格式
# 关闭thymeleaf的模版缓存
spring.thymeleaf.cache=false
# 服务访问域名及端口
server.port=8443
server.address=app.lbb.mtn
3.配置文件 application.yaml
在 Spring Boot 中,配置文件有两种不同的格式,一个是 properties ,另一个是 yaml 。
虽然properties文件比较常见,但相对于yaml 来说,yaml 格式更加简洁。
yaml中的数据是有序的,properties中的数据是无序的,在一些需要路径的配置中,顺序特别重要(我们在 Spring Cloud Zuul 中的配置)
配置文件位置一样 都有4个位置可自动加载
1)项目根目录下的config目录中 2)项目根目录下 3) classpath下的config目录中 4)classpath目录下
自定义路径有两种方式,一个是使用 spring.config.location属性,另一个则是使用 spring.config.additional-location这个属性,在第一个属性中,表示自己重新定义配置文件的位置,项目启动时就按照定义的位置去查找配置文件,这种定义方式会覆盖掉默认的四个位置,也可以使用第二种方式,第二种方式则表示在四个位置的基础上,再添加几个位置,新添加的位置的优先级大于原本的位置。
更改名称
java -jar myproject.jar --spring.config.name=app
yaml这种配置文件不支持目前不支持@PropertySource注解引入配置文件。
类型安全的属性注入@ConfigurationProperties(prefix = “app”) 将前缀为app的属性自动注入到实体对象 [实体对象也要由Spring 容器去管理才可用]
还有@Value 也可以进行注入,比较麻烦容易出错。
#格式
server:
address: app.lbb.mtn
port: 8081
spring:
thymeleaf:
cache: false
4.springboot 集成swagger
https://petstore.swagger.io
5.集成h2数据库+mybatis+thymeleaf
6.三种任务启动方式
实现以下接口
1.InitializingBean
2.ApplicationRunner
3.CommandLineRunner
8.定时任务
Spring 中的定时任务两种写法在springboot中的使用
一种@Scheduled 注解
另一种就是使用第三方框架 Quartz
未完,后续会完善。