第一章、SpringBoot简介
1、入门案例
2、官网创建压缩包程序
注意使用的版本pom文件中java --> 1.8、 springboot --> 2.5.0
3、SpringBoot快速启动
运行程序--找引导类
换技术、加技术--加starter
第二章、基础配置
1、配置文件格式
《1、端口号配置》
《2、将目录文件添加到配置文件识别中》
配置文件加载顺序:application.properties > application.yml > application.yaml
2、yaml
《1、语法格式》
语法规则:------------一般根据他的语法提示就好了-----------
缩进空格多少表示层级关系;数据前面要有空格;
logging: level: root: warn
数组数据
《2、数据读取三方式》
1、直接读取----直接定义Value及变量
@Value("${server.port}")
private int port;
@Value("${enterprise.subject[1]}")
private String subject__01;
2、封装对象读取----定义对象获取数据
将所有数据都加载到对象中,使用属性来获取数据
@Autowired
private Environment environment; //使用独立的对象。将所有数据加载进去,直接使用对象来读取具体的数据
@GetMapping("{id}")
public String getId(@PathVariable Integer id) {
System.out.println("id---->" + id);
System.out.println(environment.getProperty("lession"));
System.out.println(environment.getProperty("server.port"));
System.out.println(environment.getProperty("enterprise.subject[2]"));
return "{'module':'kaonijiwa'}";
}
3、封装实体类读取----定义实体类获取数据 --将数据转换为数据对象
针对数据定义实体类
@Component//加载为bean让spring识别
@ConfigurationProperties(prefix = "enterprise") //从配置文件中获取属性 使之与本实体类属性对应
public class Enterprise {
private String name;
private Integer age;
private String tel;
private String[] subject;
//接下来还要setter & getter
直接自动装配 获取实体类对象
@Autowired
private Enterprise enterprise;
对象打印即可获取数据
3、多环境启动
注意:
1、package之前先从clean!
2、设置中encoding全部设置为utf-8
《1、yaml配置》
#三个横线 --- 代表一个文件
#设置启用的环境
spring:
profiles:
active: test
---
#开发
spring:
profiles: dev
server:
port: 90
---
#生产
spring:
profiles: pro
server:
port: 91
---
#测试
spring:
profiles: test
server:
port: 92
文件配置(麻烦--了解)
《2、多环境命令行启动参数设置》
按照指定环境启动 开发--dev 、 生产--pro 、 测试--test
格式:
java - jar jar包名 --spring.profiles.active=启动参数
举例:
java -jar /Users/wangjia/Desktop/CS/Spring/SpringBoot/target/springboot_01-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev
指定端口号: 跟在后面写就行了
--server.port=xxx
命令行优先级高于配置文件。
所以可以使用命令行设置参数临时覆盖配置参数。
《3、多环境开发兼容问题》
maven、SpringBoot均要设置多环境。以maven为主,SpringBoot配置为辅。
3、clean -> package
4、配置文件分类
第三章、整合第三方技术
1、SpringBoot整合JUnit
对于设置运行器、加载环境,每一次都是一样的,只有环境名称不一样,所以直接使用
@SpringBootTest代替二者。
@SpringBootTest //= 运行器@RunWith() + 加载启动类
//此处没有再设置启动类 是因为 测试类在启动类SpringBootApplication.class的包或者子包内
class Springboot01ApplicationTests {
@Autowired
private BookService bookService;//自动装配测试类对象
@Test
public void save(){
bookService.save();
}
}
//其他的都不需要设置了
2、SpringBoot整合Mybatis
前置知识:
----在创建新模块或项目要勾选SQL、Mybatis
《1、写实体类》
domain.Book
public class Book {
private Integer id;
private String name;
private String type;
public String toString() {}
getter & setter
}
《2、写数据层注解开发》
没有实体对象,在采用自动代理时要使用@Mapper标示--定义数据层接口
dao.XXXDao
@Mapper //只有一个接口,在测试时没有对象。采用了自动代理,要标注一下!
public interface BookDao {
@Select("select * from tbl_book where id = #{id}")
public Book getById(Integer id);
}
《3、写数据库登录信息配置文件》
在文件application.yml中写配置
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/ssm_db
username: root
password: wbj731290
type: com.alibaba.druid.pool.DruidDataSource
#指定druid数据源 同时记得pom要添加坐标依赖
3、SpringBoot整合SSM
基本点:
--config文件夹下所有配置类都不需要了
--Dao层自动代理,要添加@Mapper
--数据库登录信息要写在yml文件中
--由于是整合了前后端 web 要选、Mybatis要选、mysql要选