CSDN博客地址:https://blog.csdn.net/qq_35893033/article/details/128401786
一、基础
1.特点
- 化繁为简,简化配置
- 备受关注
- 微服务的入门级框架
Microservice架构模式就是将整个Web应用组织为一系列小的Web服务。这些小的Web服务可以独立地编译及部署,并通过各自暴露的API接口相互通讯。它们彼此相互协作,作为一个整体为用户提供功能,却可以独立地进行扩展。
2.创建
- 官网下载现成的SpringBoot demo
- 通过maven构建(Pom.xml引入)
3.配置信息
- application.properties,也可以是yml文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21# 服务器配置
server:
port: 8080
session-timeout: 30
tomcat:
uri-encoding: utf-8
# spring配置
spring:
# 数据源配置
datasource:
# 需要加上时区
url: jdbc:mysql://localhost:3306/dbName?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT
username: root
password: xxx
driver-class-name: com.mysql.cj.jdbc.Driver
# JPA
jpa:
hibernate:
ddl-auto: update # create每次运行都删除原有表创建新表,update不用每次创建新表
show-sql: true # 打印sql语句
多环境配置
不同环境可以使用不同的配置文件
1)创建3个配置文件
application.yml:指定配置文件
application-dev.yml:开发环境
- application-prod.yml:生产环境
2)配置文件指定
application.yml:指定配置文件1
2
3
4# 指定使用哪个配置文件
spring:
profiles:
active: dev/prod
在类/配置文件中进行调用
- 属性读取@Value
1
2
3
4# application.yml定义一个age的变量
age: 23
name: 芒果橙
description: 名字是${name}1
2
3
4// Controller类中读取
"${name}") (
private String name;- 类读取@ConfigurationProperties
1
2
3
4person:
age: 23
name: 芒果橙
description: 名字是${person.name}1
2
3
4
5
6
7
"person") (prefix=
public class PersonConfig{
// 属性定义
private String name;
}
4.Controller的使用
- 相关注解
名称 | 说明 |
---|---|
@Controller | 处理HTTP请求 |
@RestController | 返回json/xml。@ResponseBody+@Controller |
@RequestMapping | 配置URL映射 |
- 参数注解
名称 | 说明 |
---|---|
@PathVariable | 获取URL中的数据 |
@RequestParam | 获取请求参数的值 |
@GetMapping | 组合注解,get请求 |
@PostMapping | post请求 |
@RequestBody | 参数格式为json |
@RequestMapping | 未指定,则GET/POST |
示例
1 |
|
5.数据库操作 Spring-Data-Jpa
1. jpa
Java Persistence API,定义了一系列对象持久化的标准,目前实现这一规范的产品有hibernate、toplink
Sort对象: Sort sort = new Sort(Sort.Direction.ASC,”xh”);
2. RESTful api
- 参考
- 一套协议来规范多种形式的前端和同一个后台的交互方式
3. 定义查询方法
根据属性名查询:findByNameLike
使用jpa的NameQuery查询
- 要使用全模糊查询,需要用Contains
使用@Query查询
自定义Repository实现
参考来源《SpringBoot实战》,汪云飞著
示例
1 | // 1.属性名 |
4. 分页对象
Page对象 :分页
Example对象 :示例对象查询
@Auditor:操作信息数据自动赋值
- 实体类上注解
- CreatedBy
- LastModifiedBy
- CreatedDate
- LastModifiedDate
- 设置默认用户
- 定义类实现AuditorAware,通过重写方法可自定义其他属性值
- 实体类上注解
5. SpecificationQuery复杂动态查询条件
1 | // 使用 Specification 动态查询条件 |