SrpingBoot
SpringBoot简介
由Pivotal团队提供的全新框架,用于简化spring的初始搭建及开发过程
入门案例
①:创建新模块,选择Spring初始化,并配置模块相应基础信息
②:选择当前模块需要的技术集
③:开发控制器类
@RestController
@RequestMapping("/book")
public class BookController{
@GetMapping("{/id}")
public String getById(@PathVariable Integer id){
System.out.println("id ==>"+ id);
return"hello , spring boot!";
}
}
④:运行自动生成的Application类
SpringBoot项目快速启动
①:对SpringBoot项目打包(执行Maven构建指令package)
②:执行启动指令
java -jar springboot.jar
SpringBoot配置文件格式
- SpringBoot提供了多种属性配置方式
加载顺序 application.properties > application.yml > application.ymal
-application.properties
server.port = 80
-application.yml
server:
port:81
-application.ymal
server:
port: 82
**自动提示功能消失解决方案
yaml
- YAML(YAML Ain’t Markup Language),一种数据序列化格式
- 优点:容易阅读、容易与简本语言交互、以数据为核心,重数据轻格式
- YAML文件扩展名:.yml(主流)、.yaml
- 格式示例:
- 语法规则
-大小写敏感
-属性层级关系使用多行描述,每行结尾使用冒号结束
-使用缩进表示层级关系,同层级左侧对其,只允许使用控制,不允许使用Tab键
-属性值前面添加空格(属性名与属性值之间使用冒号+空格作为分隔) - “#” 表示注释
yaml数据读取
- 使用@Value读取单个数据,属性名引用方式:${一级属性名,二级属性名…}
- 封装全部数据到Environment对象
- 自定义对象封装指定数据
- 自定义对象封装数据警告解决方案
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
多环境启动
properties文件多环境启动
- 主启动配置文件application.properties
spring.profiles.active=pro
- 环境分类配置文件application-pro.properties
server.port=80
- 环境分类配置文件application-dev.properties
server.port=81
- 环境分类配置文件application-test.properties
server.port=82
多环境启动命令格式
- 带参数启动SpringBoot
java -jar springboot.jar --spring.profiles.active=test
java -jar springboot.jar --server.port=88
java -jar springboot.jar --server.port=88 --spring.profiler.active=test
Maven与SpringBoot多环境兼容
①Maven中设置多环境
②SpringBoot中引用Maven属性
③执行打包指令
- Maven指令执行完毕后,生成了对应的包,其中类参与编译,但是配置文件并没有编译,二十复制到包中
- 解决思路:对源码中非java类的操作要求加载Maven对应属性,解析${}占位符
④:对资源文件开启对默认占位符的解析
- Maven打包到属性,打包顺利通过
SpringBoot整合第三方技术
SpringBoot整合JUint
- 名称:@SpringBootTest
- 类型:测试类注解
- 位置:测试类定义上方
- 作用:设置JUnit记载的SpringBoot启动类
- 范例:
@SpringBootTest(classes = Springboot07JunitApplication.class)
class Springboot07JunitApplicationTests {}
- SpringBoot整合JUint
@SpringBootTest
class Springboot07JunitApplicationTests {
@Autowired
private BookService bookService;
@Test
public void testSave(){
bookService.save();
}
}
SpringBoot整合Mybatis
①:创建新模块,选择Spring初始化,并配置模块相关基础信息
②:选择当前模块需要的技术集
③设置数据源参数
spring:
datasource:
type: com.alibaba.druid.poll.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/ssm_db
username:root
password:root
④:定义数据接口与映射配置
@Mapper
public interface UserDao {
@Select("select * from user")
public List<User> getAll();
}
⑤测试类注入dao接口,测试功能
@SpringBootTest
class Springboot08MybatisApplicationTests{
@Autowired
private BookDao bookDao;
@Test
public void testGetById(){
Book bok = bookDao.getById(1);
System.tou.println(book);
}
}
基于SpringBoot的SSM整合案例
1.pom.xml: 配置起步依赖,必要的资源坐标(druid)
2.application.yml: 设置数据源、端口
3.配置类:全部删除
4.dao:设置@Mapper
5.测试类
6.页面:放置在resources目录下static目录中