一、Springboot 简介
目的:设计目的是用来简化Spring应用的初始搭建以及开发过程
- Spring程序和SpringBoot程序对比
- SpringBoot项目快速启动
-
对SpringBoot项目打包(执行Maven构建指令package)
-
执行启动命令(cmd中)
java -jar springboot.jar
注:jar支持命令行启动需要依赖maven插件支持,请确认打包时是否具有SpringBoot对应的maven插件
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
快速启动有利于我们脱离开IDEA和tomcat运行一个springboot工程
-
SpringBoot起步依赖
- starter
- SpringBoot中常见项目名称,定义了当前项目使用的所有项目坐标,以达到减少依赖配置的目的
- parent
- 所有SpringBoot项目要继承的项目,定义了若干个坐标版本号(依赖管理,而非依赖),以达到减少依赖冲突的目的
- 实际开发
- 使用任意坐标时,仅书写GAV中的G和A,V由SpringBoot提供如发生坐标错误,再指定version(要小心版本冲突)
- starter
-
使用maven依赖管理变更起步依赖
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <!--web起步依赖环境中,排除Tomcat起步依赖- -> <exclusions> <exclusion> <groupId>org.springframework.boot</ groupId> <artifactId>spring -boot -starter-tomcat</artifactId> </exclusion> </exclusions> </dependency> <!--添加Detty起步依赖,版本SpringBoot的starter控制--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jetty</artifactId> </dependency> </dependencies>
- Jetty比Tomcat更轻量级,可扩展性更强(相较于Tomcat),谷歌应用引擎(GAE) 已经全面切换为Jetty
二、基础配置
- 三种配置文件格式
-
application.properties
server.port = 80
-
application.yml(主流)
server: port: 81
-
application.yaml
server: port: 82
- yaml数据读取
- 使用@Value读取单个数据,属性名引用方式:$
- 封装全部数据到Environment对象
- 自定义对象封装指定数据(比如Mybatis配置类)
- 多环境启动
- 配置文件分类
- SpringBoot中4级配置文件
- 1级: file : config/application. yml ->最高
- 2级: file : application.yml
- 3级: classpath: config/application. yml
- 4级: classpath: application. yml ->最低
- 作用:
- 1级与2级留做系统打包后设置通用属性
- 3级与4级用于系统开发阶段设置通用属性
三、整合第三方技术
-
整合JUnit
@SpringBootTest class SpringbootTests{ @Autowired private BookService bookservice; @Test public void testsave(){ bookservice.save(); } }
-
整合MyBatis
- 设置数据源参数
spring: datasource : type: com.alibaba.druid.poo1.DruidDataSource driver-class-name: com.mysql.cj.jdbc.Driver ur1: jdbc:mysq1://localhost:3306/ssm_db use rname: root password: root
- 定义数据层接口与映射配置
@Mapper public interface UserDao { @Select("select * from user") pub1ic List<User> getA11(); }