Springboot2简化开发项目

文章目录

  • Springboot
    • Springboot简介
      • 什么是Springboot?
      • Springboot能做什么?
      • 为什么用Springboot呢
    • 准备环境
      • Vscode准备
  • 开始使用Springboot
    • 依赖管理Maven
      • 安装Maven
    • 创建Springboot项目
    • 自动配置原理
      • Maven自动配置
      • Tomcat
        • 自动配置原理
    • Springboot容器功能
      • 组件添加
        • @Configuration配置
        • @Bean、@Component、@Controller、@Service、@Repository
        • @Bean
        • Component
          • @Controller
          • @Service
          • @Repository
        • @Conditional
      • 原生配置文件引入
        • @ImportResource("classpath:beans.xml")导入spring的配制文件
      • 配置绑定
        • @ConfigurationProperty+@Component
        • @EnableConfigurationProperties(Car.class)
    • 最佳实践
      • 步骤
      • Lombok简化开发
      • dev-tools
      • Spring Initailizr
      • 配置文件-yaml(选)
    • Web开发
      • SpringMVC自动配置
      • 静态资源访问
        • 欢迎页支持
        • 自定义Favicon 小图标
        • 静态资源配置原理
      • 请求参数处理
        • 请求映射
        • 请求映射原理
        • 普通参数与基本注解
          • **@ PathVariable使用**
          • **@RequestHeader使用**
          • **@RequestParam(获取请求参数)**
          • **@RequestBody(获取请求体[POST])表单**
          • **@RequestAttribute获取request域属性**
          • **@MatrixVariable矩阵变量**
        • 复杂参数
        • 自定义对象参数(对象)
          • 自定义Converter
        • 数据响应与内容协商
          • 响应JSON
          • 内容协商
        • 视图解析与模板引擎
          • 1、视图解析
          • 2、Thymeleaf模板引擎
          • 构建后台管理系统
        • 拦截器
        • web原生组件(Servlet Filter Listener)
        • 嵌入式Servlet容器
        • 定制化原理
      • JWT
        • 什么是JWT
    • 数据访问
      • SQL
        • 数据源的配置
        • 使用Druid数据源
          • 配置模式
          • 注解模式
        • 整合Mybatis-plus完成Crud
          • 整合Mybatis-plus
          • 实战:Crud

当学完前端Html和数据库的时候,会不会想到如何在页面中链接起我们的数据库,写一个web应用?这个时候我们就需要用到框架!
,本篇文章是我对Springboot学习的一些理解,当然Springboot的强大不止这些,还有很多可以去了解学习的,多看官方文档,本篇文章是一些Springboot的基础用法,希望看完对大家有帮助,本篇文章用的是Springboot+Thymeleaf,后期会出Springboot+vue前后端分离的文章,请大家多多关注,适用于快速上手。

语法基础:Java、Html、JavaScript、Css、Sql、Maven、Thymeleaf
系统需求:VsCode/IDEA、MysqlWorkbench、Maven3+
IDEA需要破解版,大家可以自己去找资源,本篇文章用的是VsCode,Mysql可以用自己喜欢的软件

Springboot

官方文档
https://spring.io

Springboot简介

什么是Springboot?

在开发中我们需要用到SSM来框架来开发,SSM框架是spring、spring MVC 、和mybatis框架的整合,是标准的MVC。标准的SSM框架有四层,分别是dao层(mapper),service层,controller层和View层。使用spring实现业务对象管理,使用spring MVC负责请求的转发和视图管理,mybatis作为数据对象的持久化引擎。本篇文章会一个一个详细介绍四层框架。

Springboot能做什么?

官方文档的解释
Springboot2简化开发项目_第1张图片

为什么用Springboot呢

他可以快速的创建出出生产级别的Spring应用
优点:
1、创建独立Spring应用
2、内嵌Web服务器
3、自动starter依赖,简化配置
4、自动配置Spring以及第三方功能
5、无代码生成、无需编写XML

准备环境

Vscode准备

JDK :在VsCode中配置下的好JDK
VsCode及插件: Java Extension Pack & Spring Boot Extension Pack
Java:
Springboot2简化开发项目_第2张图片

VSCode 配置Java Home 要不然无法编译运行JAVA
Springboot2简化开发项目_第3张图片

Spring Boot:
Springboot2简化开发项目_第4张图片
Springboot2简化开发项目_第5张图片

开始使用Springboot

依赖管理Maven

Maven是一个项目管理工具,它包含了一个项目对象模型(POM:Project Object Model),一组标准集合,一个项目生命周期(Project LifeCycle),一个依赖管理系统(Dependency managerment System),和用来运行定义在生命周期(phase)中插件(plugin)目标(goal)的逻辑。
通俗来说,我们需要引入的各种Jar包,Maven可以自动下载。

安装Maven

官方文档
https://maven.apache.org

创建Springboot项目

创一个空文件夹,然后VsCode打开 control +shift + P打开VsCode场景选择起
在下载的Spring Initialize Java Support中可以通过Maven自动创建一个Springboot 项目
Springboot2简化开发项目_第6张图片

选择版本我选择的是2.7.5
Springboot2简化开发项目_第7张图片

选择Java
Springboot2简化开发项目_第8张图片

更改项目的名字修改com.后面的内容
Springboot2简化开发项目_第9张图片

创建修改ID
Springboot2简化开发项目_第10张图片

选择Jar包
Springboot2简化开发项目_第11张图片

选择配置好的Java Version 注意一定要和自己在Vscode中的配置的版本一样
不知道的可以打开终端输入 Java -v
Springboot2简化开发项目_第12张图片

选择场景依赖,也是场景启动器,你需要的依赖都可以选择,这里可以先选择DevTools
Springboot2简化开发项目_第13张图片

创建之后就是在第一次加载,可能需要很长时间,Maven要下载jar包
Springboot2简化开发项目_第14张图片

启动Springboot Hello
在Controller中写一个HelloController 标注是Controller注解,这是第一个Hello请求
Springboot2简化开发项目_第15张图片

启动Springboot
Springboot2简化开发项目_第16张图片

在页面中输入http://localhost:8080/hello
就发现出现了Hello ,Spring Boot 2

自动配置原理

● 自动配好Web常见功能,如:字符编码问题
○ SpringBoot帮我们配置好了所有web开发的常见场景
● 自动配好SpringMVC
○ 引入SpringMVC全套组件
○ 自动配好SpringMVC常用组件(功能)
● 默认的包结构
1、@SpringBootApplication
配置类
2、@ComponentScan
指定扫描,包扫
3、@EnableAutoConfiguration

@SpringBootApplication
等同于
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan("com.example.demo")

● 按需加载所有自动配置项
○ 非常多的starter
○ 引入了哪些场景这个场景的自动配置才会开启
○ SpringBoot所有的自动配置功能都在 spring-boot-autoconfigure 包里面

Maven自动配置

1.在pom文件中 parent几乎声明了所有开发中的版本号

2.修改版本号
查看spring-boot-dependencies里面规定当前依赖的版本用的key
在当前项目里面重写配置
3.starter场景启动器
4、所有场景启动器最底层的依赖
Springboot2简化开发项目_第17张图片

Tomcat

依赖


      org.springframework.boot
      spring-boot-starter-tomcat
      2.3.4.RELEASE
      compile
    

自动引入 只需要访问localhost:8080
Springboot2简化开发项目_第18张图片

自动配置原理

(1)@AutoConfigurationPackage
自动配置包
将指定的一个包下的所有组件导入进来(包MainApplication)
(2)@Import(AutoConfigurationImportSelector.class)
所有的自动配置类在这里配置写死
4、按需开启自动配置
虽然127个场景所有配置在启动时候都会加载
但最终都会按需配置
5、修改只需要在
Springboot2简化开发项目_第19张图片

Springboot容器功能

组件添加

@Configuration配置

在Config包中,你需要添加和修改的配置类需要加上@Configuration注解,这会告诉springboot这是一个配置类==配置文件
Springboot2简化开发项目_第20张图片

@Bean、@Component、@Controller、@Service、@Repository
@Bean

在Configuration中使用@Bean是将此方法注入到容器中,才可以调用,不然会报空指针异常

Component

@component是spring中的一个注解,它的作用就是实现bean的注入。在Java的web开发中,提供3个@Component注解衍生注解(功能与@component一样)分别是:

@Controller

@Controller 控制器(注入服务) 用于标注控制层,在controller包中所有的controller都要加上这个注解
来告诉Springboot这是一个控制层

@Service

@Service 服务(注入dao) 用于标注服务层,主要用来进行业务的逻辑处理

@Repository

@Repository(实现dao访问) 用于标注数据访问层,也可以说用于标注数据访问组件,即DAO组件

####@ComponentScan、@ Import( )导入组件
在Config中使用@Import({User.class})将User这个类注入到Config中,这样才可以使用

@Conditional

条件装配:满足Conditional指定的条件,则进行组件注入

原生配置文件引入

@ImportResource(“classpath:beans.xml”)导入spring的配制文件

配置绑定

@ConfigurationProperty+@Component

Springboot2简化开发项目_第21张图片

写Controller
Springboot2简化开发项目_第22张图片

配置文件
Springboot2简化开发项目_第23张图片

在浏览器输入localhost:8080/car
因为我的注解是RestController它会将返回的数据变成Json的形式
Springboot2简化开发项目_第24张图片

@EnableConfigurationProperties(Car.class)

1、开启Car配置绑定
2、把这个Car这个组件自动注册
在Config中写

    @EnableConfigurationProperties(Car.class)
	public class MyConfig {
	}

最佳实践

步骤

1、引入场景依赖
sprint-boot-starter-什么什么
2、查看自动配置(选)
在properties中 加入 debug=true
3、是否需要修改配置项
(1)在spring boot官网参照文档
(2)自定义加入或替换组件
用@Bean或者@Component

Lombok简化开发

Lombok可以自动设置Bean的get set等方法
@Data自动映入属性的set和get方法
@ArgsConstructor 设置全参构造器
1、引入依赖
在springboot dependecy找到lombok然后加入到pom文件中
2、安装插件
Springboot2简化开发项目_第25张图片

3、在Bean包中的类 加入注解
Springboot2简化开发项目_第26张图片

Springboot2简化开发项目_第27张图片

在编译的时候自动生成
4、@Slf4j日志
log.info(String字符串)
在编译的时候终端会打印出日志内容

dev-tools

control+F9热更新,项目更改内容实时生效
Springboot2简化开发项目_第28张图片

Spring Initailizr

自动配置maven,创建springboot,要什么场景直接选
Springboot2简化开发项目_第29张图片

配置文件-yaml(选)

https://yaml.org/spec/1.2.2/
下载yaml插件将application.properties改成yaml结尾
Springboot2简化开发项目_第30张图片

可以防止在配置文件中的冗余
基本语法可以看官方文档

Web开发

创建:在创建Springboot项目的时候选择依赖的时候Spring web、Dev Tools、Lombok、Configuration Processor

SpringMVC自动配置

静态资源访问

1、目录
静态资源jsp、png、html放在静态资源目录下
目录可以下面这些
Springboot2简化开发项目_第31张图片

原理: 静态映射/**
先去所有的容器里找,然后再去静态资源文件找
也可以改变
spring.mvc.static-location=classpath:/haha/
2、静态资源访问前缀
默认无前缀
在配置文件中设置spring.mvc.static-path-pattern=/res/**

欢迎页支持

Springboot默认访问tomcat是从静态资源下 index.html
可以配置静态资源路径
不可以配置静态资源的访问前缀,否则无法默认访问
controller能处理 index

自定义Favicon 小图标

Springboot2简化开发项目_第32张图片

Springboot默认访问在stactic目录下加入favicon.ico
Springboot2简化开发项目_第33张图片

静态路径不可以访问到

静态资源配置原理

SpringBoot启动默认加载 xxxAutoConfiguration类
SpringMVC功能的自动配置类 大多在WebMvcAutoConfiguration,生效
给容器中配置

请求参数处理

前后端的数据传输都是以Json的形式传输
Springboot2简化开发项目_第34张图片

请求映射

在Controler中定义自己的请求
Springboot2简化开发项目_第35张图片

核心Filter: HiddenHttpMethodFilter
用法:
在html中的Form中绑定action
Springboot2简化开发项目_第36张图片

页面显示:
Springboot2简化开发项目_第37张图片

点击删除
Springboot2简化开发项目_第38张图片

Spring Boot要手动开启Delete:
spring.mvc.hiddenmethod.filter.enabled=true
Springboot2简化开发项目_第39张图片

请求映射原理

image.png

JVM DispatcherServlet
所有的请求映射都在HandlerMapping(映射处理器)中
比如 SpringBoot自动配置了欢迎页的HanderMapping 访问/就可以访问/index.html

普通参数与基本注解

以Json数据发送请求,但是可以设置xml 只需要在请求后面加?format=xml

@ PathVariable使用

路径变量获取{ }中的数据返回
Springboot2简化开发项目_第40张图片

将数据都放入到map中,然后返回map,我这里是以Xml的格式返回
image.png

点击
Springboot2简化开发项目_第41张图片

页面返回Map
Springboot2简化开发项目_第42张图片

@RequestHeader使用

Springboot2简化开发项目_第43张图片

@RequestParam(获取请求参数)

Springboot2简化开发项目_第44张图片

Springboot2简化开发项目_第45张图片

@RequestBody(获取请求体[POST])表单

Controller:
image.png

Html:
Springboot2简化开发项目_第46张图片

页面:
Springboot2简化开发项目_第47张图片

点击提交返回
Springboot2简化开发项目_第48张图片

要有name不然无法获取

@RequestAttribute获取request域属性

Springboot2简化开发项目_第49张图片

先将msg部署进去
然后访问数据有两种办法
1、注解
image.png
image.png

2、request中getAttribute
Springboot2简化开发项目_第50张图片

3、中文乱码问题
配置文件中加入
server.tomcat.uri-encoding=utf-8
server.servlet.encoding.force=true
server.servlet.encoding.enabled=true
server.servlet.encoding.charset=UTF-8

@MatrixVariable矩阵变量

1、语法
image.png
2、SpringBoot默认禁用了矩阵变量
手动开启:原理 对于路径的处理 UrlPathHelper进行解析
方法一:
Springboot2简化开发项目_第51张图片

方法二:
Springboot2简化开发项目_第52张图片

Springboot2简化开发项目_第53张图片

复杂参数

Map Model HttpServertRequest(map model 里面的数据会被放在request请求域中)
给requset数据域中放数据
Springboot2简化开发项目_第54张图片

收到请求
Springboot2简化开发项目_第55张图片

返回Json
Springboot2简化开发项目_第56张图片

自定义对象参数(对象)

数据绑定:页面提交请求(GET、POST)到可以和对象属性进行绑定
1、在bean层写入对象
Springboot2简化开发项目_第57张图片

Springboot2简化开发项目_第58张图片

2、在html中form一一对应他的属性
Springboot2简化开发项目_第59张图片

3、绑定controller
Springboot2简化开发项目_第60张图片
Springboot2简化开发项目_第61张图片
点击提交返回Json数据:
Springboot2简化开发项目_第62张图片

自定义Converter

当我想让pet的格式获取为名字,年龄
image.png

Converter是SpringMvc里面的功能,可以将html获取的数据进行转换

自定义SpringMVC的功能:在Bean里面重新写函数返回WebMvcConfigurer

在返回WebMvcConfigurer中重写addFormatters方法
addFormatter可以通过FormatterRegistry添加一个Converter
要写好获取类型和返回类型
然后再重新Convert方法,将字符串分割
Springboot2简化开发项目_第63张图片
image.png

数据响应与内容协商

Springboot2简化开发项目_第64张图片

响应JSON

Springboot自动引入JSON
只需要给方法中标注RespondBody,就可以前段自动返回json数据,或者直接RequestMapping
Springboot2简化开发项目_第65张图片

内容协商

根据客户端接受能力不同,返回不同媒体类型的依赖
Springboot2简化开发项目_第66张图片

通过遍历所有的MessageConverter能找到合适处理MediaType的MessageConverter

例如:
1、xml依赖

<dependency>
            <groupId>com.fasterxml.jackson.dataformat</groupId>
            <artifactId>jackson-dataformat-xml</artifactId>
</dependency>

2、PostMan测试返回json 和xml
只需要改变请求头Accept字段,Http协议中规定的告诉服务器客户端可以接收的数据类型
Springboot2简化开发项目_第67张图片

3、开启浏览器参数方式内容协商功能
spring.mvc.contentnegotiation.favor-parameter=true
Springboot2简化开发项目_第68张图片

4、自定义MessageConverter

视图解析与模板引擎

视图解析:SpringBoot默认不支持 JSP,需要引入第三方模板引擎技术实现页面渲染。

1、视图解析

Springboot2简化开发项目_第69张图片

过程:把所有的页面资源放在templates文件夹中,然后根据每个页面的不同操作,写对应的controller,完成数据交互

2、Thymeleaf模板引擎

官方文档
https://www.thymeleaf.org
可以把客户端的内容写到网页中
与JSP(动态网页技术)Velocity,FreeMaker 等模板引擎类似,也可以轻易地与 Spring MVC 等 Web 框架集成,当通过 Web 应用程序访问时,Thymeleaf 会动态地替换掉静态内容,使页面动态显示。
https://www.thymeleaf.org
()
1、引入依赖

 
        org.springframework.boot
        spring-boot-starter-thymeleaf
    

2、自动配置
自动配好的策略
● 1、所有thymeleaf的配置值都在 ThymeleafProperties
● 2、配置好了 SpringTemplateEngine
● 3、配好了 ThymeleafViewResolver 视图解析器
● 4、我们只需要直接开发页面
前缀
Springboot2简化开发项目_第70张图片

后缀
Springboot2简化开发项目_第71张图片

3、页面开发
先引入thymeleaf


在页面中
Springboot2简化开发项目_第72张图片

Springboot2简化开发项目_第73张图片

构建后台管理系统

模板下载
https://gitee.com/coderdlg/adminex/tree/master
1、将表单绑定post和/login请求
Bean中User类
Springboot2简化开发项目_第74张图片

表单发送Post方式的login请求,处理完进入main
Springboot2简化开发项目_第75张图片

Springboot2简化开发项目_第76张图片

2、login跳转到main页
Springboot2简化开发项目_第77张图片

Springboot2简化开发项目_第78张图片

session原理
Springboot2简化开发项目_第79张图片

Springboot2简化开发项目_第80张图片

model
Springboot2简化开发项目_第81张图片

3、抽取公共页
(1)写入公共元素
每个页面的左侧菜单和头菜单都是一样的
在common.html中写上相同的
如头都是一样的
Springboot2简化开发项目_第82张图片

(2)标注名字(两种方法)th官方文档中有
Springboot2简化开发项目_第83张图片

(3)使用公共
th调用,有三种用法
Springboot2简化开发项目_第84张图片

include:不会保留大标签
replace:会保留head
例如在main中调用公共同的head的link:
Springboot2简化开发项目_第85张图片

id调用
Springboot2简化开发项目_第86张图片

例如:在main中调用公共的JS
image.png

(4)修改公共跳转页面
在common中找到跳转去掉.html,直接访问路径下的页面
Springboot2简化开发项目_第87张图片

4、在form中历练表单
Springboot2简化开发项目_第88张图片

拦截器

主要登入检查功能
有三种位置
prehandler在处理目标方法前
在处理方法后还没到页面posthandler
在页面结束后还可以afterhandler
核心 HandlerInterceptor 接口
1、编写一个拦截器实现HandlerInterceptor接口
Springboot2简化开发项目_第89张图片

2、拦截器注册到容器中 (实现webmvcConfiguer的addinteceptors)
3、指定拦截规则
Springboot2简化开发项目_第90张图片

异常记录处理

image.png

spring.mvc.hiddenmethod.filter.enabled=true

web原生组件(Servlet Filter Listener)

1、使用Servlet api
Servlet
先在主函数上写@ServletComponentScan指定Servlet组件放哪里
Springboot2简化开发项目_第91张图片

然后利用@WebServlet(urlPatterns = “/my”)直接响应,没有经过Spring拦截器
Springboot2简化开发项目_第92张图片
Filter(过滤器)
https://blog.csdn.net/m0_51545690/article/details/123677340
Springboot2简化开发项目_第93张图片

Listener (监听器)

Springboot2简化开发项目_第94张图片

2、使用RegistrationBean
ServletRegistrationBean, FilterRegistrationBean, and ServletListenerRegistrationBean
Springboot2简化开发项目_第95张图片

嵌入式Servlet容器

● 默认支持的webServer
○ Tomcat, Jetty, or Undertow
○ ServletWebServerApplicationContext 容器启动寻找ServletWebServerFactory 并引导创建服务器
● 原理
○ SpringBoot应用启动发现当前是Web应用。web场景包-导入tomcat
○ web应用会创建一个web版的ioc容器 ServletWebServerApplicationContext
○ ServletWebServerApplicationContext 启动的时候寻找ServletWebServerFactory(Servlet 的web服务器工厂—> Servlet 的web服务器)
○ SpringBoot底层默认有很多的WebServer工厂; TomcatServletWebServerFactory, JettyServletWebServerFactory, or UndertowServletWebServerFactory
○ 底层直接会有一个自动配置类。ServletWebServerFactoryAutoConfiguration
○ ServletWebServerFactoryAutoConfiguration导入了ServletWebServerFactoryConfiguration(配置类)
○ ServletWebServerFactoryConfiguration 配置类 根据动态判断系统中到底导入了那个Web服务器的包。(默认是web-starter导入tomcat包),容器中就有 TomcatServletWebServerFactory
○ TomcatServletWebServerFactory 创建出Tomcat服务器并启动;TomcatWebServer 的构造器拥有初始化方法initialize—this.tomcat.start();
○ 内嵌服务器,就是手动把启动服务器的代码调用(tomcat核心jar包存在)
Springboot2简化开发项目_第96张图片

定制化原理

1、定制化的常见方式
● 修改配置文件;
● xxxxxCustomizer;
● 编写自定义的配置类 xxxConfiguration;+ @Bean替换、增加容器中默认组件;视图解析器
● Web应用 编写一个配置类实现 WebMvcConfigurer 即可定制化web功能;+ @Bean给容器中再扩展一些组件
Springboot2简化开发项目_第97张图片

JWT

什么是JWT

1.什么是JWT

在介绍JWT之前,我们先来回顾一下利用token进行用户身份验证的流程:

客户端使用用户名和密码请求登录
服务端收到请求,验证用户名和密码
验证成功后,服务端会签发一个token,再把这个token返回给客户端
客户端收到token后可以把它存储起来,比如放到cookie中
客户端每次向服务端请求资源时需要携带服务端签发的token,可以在cookie或者header中携带
服务端收到请求,然后去验证客户端请求里面带着的token,如果验证成功,就向客户端返回请求数据
依赖

  <dependency>
			<groupId>com.auth0</groupId>
			<artifactId>java-jwt</artifactId>
			<version>3.10.3</version>
		</dependency>

2、原理分析套路
场景starter - xxxxAutoConfiguration - 导入xxx组件 - 绑定xxxProperties – 绑定配置文件项
3、使用会在下一篇Springboot+vue中详细讲

数据访问

SQL

数据源的配置

1、导入JDBC场景


    org.springframework.boot
    spring-boot-starter-data-jdbc

自动导入了
Springboot2简化开发项目_第98张图片

导入数据库驱动MySQL
https://mvnrepository.com/artifact/mysql/mysql-connector-java/8.0.20
去Maven官网找到自己的MySql版本
Springboot2简化开发项目_第99张图片
2、自动配置

Springboot2简化开发项目_第100张图片

3、修改配置项
Springboot2简化开发项目_第101张图片

4、检验是否连接
Springboot2简化开发项目_第102张图片

使用Druid数据源

1、引入依赖

		
            com.alibaba
            druid
            1.1.17
        

2、自定义方法
(1)StatViewServlet
StatViewServlet的用途包括:
提供监控信息展示的html页面
提供监控信息的JSON API
监控页功能

@Bean
public ServletRegistrationBean servletRegistrationBean(){
    StatViewServlet statViewServlet=new StatViewServlet();
    ServletRegistrationBean registrationBean=new ServletRegistrationBean<>(statViewServlet,"/druid/*");
    return registrationBean;
}

开启监控功能
Springboot2简化开发项目_第103张图片

访问sql 监控生效
Springboot2简化开发项目_第104张图片

3、官方方法
引入依赖

	 
            com.alibaba
            druid-spring-boot-starter
            1.1.17
        

手动配置
Springboot2简化开发项目_第105张图片

####对 MyBatis操作

1、映入starter

	
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            2.1.4
        

Springboot2简化开发项目_第106张图片

Mybatis官方文档
https://mybatis.org/mybatis-3/zh/index.html

配置模式

步骤:
1、
全局配置文件
内容都配置好了不用 写
Springboot2简化开发项目_第107张图片

2、指定配置路径
Springboot2简化开发项目_第108张图片

3、Bean
Springboot2简化开发项目_第109张图片

要加入Mapper注解 不然mybatis找不到
Springboot2简化开发项目_第110张图片

配置xml绑定接口,绑定函数 mapper就可以操作数据库
Springboot2简化开发项目_第111张图片

4、Service
Springboot2简化开发项目_第112张图片

5、controller调用Service
Springboot2简化开发项目_第113张图片

中文乱码问题上面提到,修改配置就可以了

注解模式

1、写City类放入到Bean
Springboot2简化开发项目_第114张图片

2、写Mapper
Springboot2简化开发项目_第115张图片

3、写service
Springboot2简化开发项目_第116张图片

Springboot2简化开发项目_第117张图片

整合Mybatis-plus完成Crud
整合Mybatis-plus

官网文档:https://baomidou.com/pages/226c21/
他是Mybatis的一个增强工具,简化开发,非常好用,比Mybatis方便很多
建议下载Mybatis X插件

1、映入依赖


    com.baomidou
    mybatis-plus-boot-starter
    3.4.1

自动配置了
Springboot2简化开发项目_第118张图片

准备工作
1、自动包扫
Springboot2简化开发项目_第119张图片

2、如果要用Mybatis配置模式也可以 只不过位置改了
Springboot2简化开发项目_第120张图片

3、Bean中放类
Springboot2简化开发项目_第121张图片

4、写Mapper
Springboot2简化开发项目_第122张图片

5、在Service中创建有关服务接口
Springboot2简化开发项目_第123张图片

6、在Service创建一个impl实现包,创关于Service接口的实现类
Springboot2简化开发项目_第124张图片

实战:Crud

1、展示数据
Springboot2简化开发项目_第125张图片

Springboot2简化开发项目_第126张图片

2、分页
controller
Springboot2简化开发项目_第127张图片

from
Springboot2简化开发项目_第128张图片

分页功能
Springboot2简化开发项目_第129张图片
Springboot2简化开发项目_第130张图片

你可能感兴趣的:(Java,spring,boot)