1、入门案例-介绍Idea用法
1.1、项目搭建
1.2、编写测试类
在com.itheima下新建contoller.BookController的测试类
到这里入门案例就结束啦~~~~~~~~~~~
2、教你一个小妙招-隐藏文件或文件夹
可以添加想要忽略的文件。我没有强迫症就不要了~~~~~~~
3、入门案例解析-spring-boot-starter-parent
3.1、parent
这个parent相当于是一个包含了许多的属性的容器,为了减少依赖冲突
3.2、starter
这个starter你想要啥你直接点那个starter。减少以来配置
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~实际开发~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(1)使用任意坐标时,仅书写GAV中的G和A,V由SpringBoot提供,除非SpringBoot未提供对应版本V
(2)如发生坐标错误,在指定Version(要小心版本冲突)
3.3、引导类--执行入口
3.4、辅助功能
springboot里面内嵌Tomcat功能
4、REST风格简介
如果每一个@GetMapping("/user/**),@PostMapping("/user/**)请求前面都要有一个"/user"
那么就在整个类的前面添加一个@RequestMapping("/user"),所以添加一个为 @RestController
//Rest模式
@RestController
@RequestMapping("books")
public class BookController {
@GetMapping
public String getById(){
System.out.println("springboot is running...");
return "springboot is Running...";
}
}
5、基础配置
5.1、案例演示
在src/resource下面有一个名为application.properties的文件,只是现在演示用这个properties格式文件,后面改为yml,但是名字是这个。(注意修改完记得重启)
5.2、基础配置
图5-2 这个是banner
# 1修改服务器端口
server.port=80
# 2修改banner
# 2.1是否开启banner
# spring.main.banner-mode=off
# 2.2修改banner的图片(就是那个Spring)
# spring.banner.location=1e4b392535884cdb806acdcd86beba79.png
# 3日志
# 3.1日志级别
# logging.level.root=info
5.3、3种配置文件的格式
yml格式(主流格式) yaml格式 properties格式 文件名:application
加载顺序 properties>yml>yaml 相同的配置只有properties最大。不同都会留下来
5.4、YML数据格式
5.5、读取YML数据
5.6、yaml文件数据引用
5.7、读取有yaml的全部属性
5.8、在开发中我们会建一个类专门引用这个数据
5.8.1、封装这个数据源
5.8.2、新建一个类封装一下
5.8.2、使用
6、整合第三方技术
6.1、整合Junit测试类
springboot这个已经自动加入junit了。
6.1.1、Junit报错下面
出现这个错误就是测试类的包和主包路径不一样了 ,测试类可以子类,同目录
解决方法:
6.2、整合Mybais(了解)
6.2.1、第一步导入maven坐标
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency><dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
6.2.2、在application.yml文件中配置相关信息
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
username: root
password: root
6.2.3、在java com itheima下新建domain.Book文件
6.2.4、在java com itheima 下新建dao.BookDao文件
6.2.5、在测试类中使用
6.2.6、连接报错
?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
驱动过期了换这个-> com.mysql.cj.jdbc.Driver
6.3、整合MyBatis-plus
6.3.1、第一步导入maven坐标
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3</version>
</dependency><dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
6.3.2、配置application.yml的数据库连接信息
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
username: root
password: root
6.3.3、在java com itheima下新建domain.Book文件
6.3.4、在java com itheima 下新建dao.BookDao文件
6.3.5、在测试类中使用
6.3.6、报错
原因是我们这个表叫做tbl_book他映射为book所以,我们需要解决。
在application.yml文件中配置,就可以了
6.4、整合Druid
6.4.1、导入maven坐标
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3</version>
</dependency><dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency><dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.6</version>
</dependency>
6.4.2、配置application.yml
spring:
datasource:
druid:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
username: root
password: root#设置mp相关配置
mybatis-plus:
global-config:
db-config:
table-prefix: tbl_
其他的参考上方写法~~~~~~~~
7、案例整合
7.1、数据层
spring: datasource: druid: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8 username: root password: root #设置mp相关配置 mybatis-plus: global-config: db-config: table-prefix: tbl_ id-type: auto #id increment autoid自增长 configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #开启日志 server: port: 80
7.1.1、实现分页
最主要的是拦截器:java com itheima 下新建 config/MPConfig
7.1.2、条件查询
1.使用QueryWrapper对象封装查询条件
2.推荐使用LambdaQueryWrapper对象
7.2、业务层
7.2.1、java下新建com iheima下新建service.BookService接口
7.2.2、java下新建com iheima 下新建service.impl.BookServiceImpl
7.2.3、测试
7.3、表现层
7.3.1、在java com itheima下创建controller.BookController类
7.3.1、统一返回数据格式
表现层返回结果的模型类,用于后端与前端进行数据格式统一,也称为前后端数据协议
7.4 前端项目介绍
前端项目的资源文件放到static文件夹下
注意导入文件访问不到,点击maven的声明周期的clear在重启。
8、运维实用篇
8.1、项目打包
8.1.1、跳过项目测试
8.1.2、打包运行
点击maven/package打包,出现一个target包。里面的jar包
application.yml中最好不要出现中文
这个错误:Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources) on project springboot_01_01_quickstart: Input length = 1 -> [Help 1]
解决方案:
点击package,打包完出现如下target,打开出现如下文件的目录
在cmd中打开。输入如下代码运行:
8.2、临时属性
8.2.1、修改临时端口(了解)
8.2.2、修改多个临时数据--使用空格隔开
8.2.3、配置是否可以使用临时配置
8.2.4、配置文件分类
打包后的目录关系,确定层级
8.2.5、多环境开发
(1)properties版本
(2)yml文件
8.2.6、使用maven管理版本
切换环境,使用maven的compile点击
8.3、日志
@Slf4j
9、开发实用篇
9.1、手工启动热部署
每次改完点一下