SpringBoot
SpringBoot 时由 Pivotal 团队提供的全新框架,其设计的目的是用来简化 Spring 应用的初始搭建过程
配置文件
- SpringBoot 的配置可以通过 main/resources/application.properties 修改
- 在 main/resources 下创建一个 application.yml 文件
- 在 main/resources 下创建一个 application.yaml 文件
当选择使用 .yml/.yaml 文件做配置文件时,记得把 application.properties 文件删除,最好只存在一个配置文件 最常使用的配置文件是:.yml 文件 当三个文件都存在的时候优先级:.properties > .yml > .yaml
yaml / yml
YAML(YAML Ain't Markup Language):一种序列化格式
- 优点
- 容易阅读
- 容易与脚本语言交互
- 以数据为核心,重数据轻格式
- 常见的拓展名 5 - .yml
- .yaml
- yaml 语法规则
-
大小写敏感
-
属性层级关系使用多行描述,每行结尾使用冒号结束
-
使用缩进表示层级关系,同层级左侧对齐,只允许使用空格(不允许是同 Tab 键)
-
属性前面添加空格(属性名与属性值之间使用冒号 + 空格(: )作为分割)
-
# 表示注释
-
核心规则:数据前面要加空格与冒号隔开(: )
yaml / yml 的书写格式
- 以键值对表示数据,Key 和 Value 使用(: )冒号加空格隔开,使用 - 来表示一个数组
lesson: AAA
properties:
name: Lee
age: 16
tel: 199230230
subject:
- Java
- 前端
- 大数据
- 如果获取 yaml/yml 文件定义的配置信息(以上 yaml 为例)
- 自动装配
@Controller
public class UserController {
@Value("${lesson}")
private String lesson;
@Value("${properties.name}")
private String name;
@Value("${properties.subject[0]}")
private String subject_0;
}
- 自动注入一个 springboot 提供的 Environment 对象直接读取整个配置文件,再用 getProperties 方法获取指定的配置项
@Controller
public class UserController {
@Autowired
private Environment environment;
@GetMapping("/{id}")
public String getById(@PathVariable Integer id) {
System.out.println(environment.getProperties("lesson"));
System.out.println(environment.getProperties("properties.name"));
System.out.println(environment.getProperties("properties.subject[0]"));
}
}
- 定义一个实体类用来封装其中的某一部分数据使用
- 先要在类上加 @Component 使该实体类为一个 Bean,才嗯那个自动装配使用
- @ConfigurationProperties(prefix = "enterprise"),prefix 指定要读取那一部分的数据。
多环境开发
- 使用 yml/yaml 文件做配置文件
- 多套环境之间使用 --- 分割
- 只当当前那套环境起作用 spring: profiles: 环境名称
spring:
profiles:
active: dev
# 开发环境
server:
port: 9000
---
# 生产环境
spring:
profiles: pro
server:
port: 9001
---
# 测试环境
spring:
profiles: test
server:
port: 9002
- 使用 properties 文件作为配置文件
- 需要使用多个 properties 文件,主文件 application.properties 指定需要使用的环境
- dev/pro/test 三个环境各自一个配置文件,格式为 application-(dev/pro/test).properties
- 使用 properties 文件做多环境时,注意各个文件之间的命名规则
# application.properties 文件
spring.profiles.active=dev // 指定使用 application-dev.properties
# application-dev.properties 文件
server.port=9000
# application-pro.properties 文件
server.port=9001
# application-test.properties 文件
server.port=9002
- 配置了多环境之后,打包出来的 jar 文件也可以指定环境执行,只当端口等参数
// 执行 jar 包时指定使用 test 环境
java -jar springboot.jar --spring,profiles.active=test
// 修改启动端口
java -jar springboot.jar --spring,profiles.active=test --server.port=8008
整合 MyBatis
- 添加数据库的配置信息
- 在 .yml/.yaml 配置文件中添加
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/todo
username: root
password: 123456
-
根据表结构新建实体类
-
新建 dao 包,每个 Dao 类都是用 @Mapper 注解标记