教你优雅的入门Spring Boot框架
技术栈
- 后端: SpringBoot + Mybatis
- 前端: Vue.JS + ElementUI
测试环境
- IDEA + SpringBoot-2.0.5
项目设计
准备
开始实战Spring Boot项目,首先,你需要将Spring Boot工程搭建出来。
这次我们整合SpringBoot-Mybatis实现简单的CRUD业务。 需求:
如果觉得不错就点击右上角star鼓励一下笔者吧(#^.^#) 教你优雅的入门Spring Boot框架技术栈
测试环境
扫描二维码关注公众号,回复:
4457687 查看本文章
项目设计 准备开始实战Spring Boot项目,首先,你需要将Spring Boot工程搭建出来。 Spring Boot应用启动器Spring Boot提供了很多应用启动器,分别用来支持不同的功能,说白了就是 我们这里介绍几个常见的应用启动器:
Spring Boot项目结构设计Spring Boot项目(即Maven项目),当然拥有最基础的Maven项目结构。除此之外:
起步首先: 我想特殊强调的是:SpringBoot不是对Spring功能上的增强,而是提供了一种快速使用Spring的方式。一定要切记这一点。 学习SpringBoot框架,只是为了更简便的使用Spring框架,我们在SSM阶段学习的知识现在放在Spring Boot框架上开发是完全适用的,我们学习的大多数是SpringBoot的自动化配置方式。 因为Spring Boot框架的一大优势就是自动化配置,从pom.xml的配置中就能明显感受到。 项目依赖本项目的依赖文件请看Github仓库:spring-boot/pom.xml 初始化数据库本项目数据库表设计请看GitHub仓库:spring-boot/db/ 请运行项目前,先把数据库表结构建好 SpringBoot整合Mybatis之前已经说过:SpringBoot框架不是对Spring功能上的增强,而是提供了一种快速使用Spring的方式 所以说,SpringBoot整合Mybatis的思想和Spring整合Mybatis的思想基本相同,不同之处有两点:
关于YAML的语法请自行百度,我这里也仅仅是满足基本的配置需求,不涉及那种不易理解的语法。 整合配置文件本例详细代码请看GitHub仓库:spring-boot/resources/application.yml 在Spring阶段用XML配置mybatis无非就是配置:1.连接池;2.数据库url连接;3.mysql驱动;4.其他初始化配置 |
注意:空格代表节点层次;注释部分用#
标记
解释
-
我们实现的是spring-mybatis的整合,包含mybatis的配置以及datasource数据源的配置当然属于spring配置中的一部分,所以需要在
spring:
下。 -
mapper-locations
相当于XML中的<property name="mapperLocations">
用来扫描Mapper层的配置文件,由于我们的配置文件在resources
下,所以需要指定classpath:
。 -
type-aliases-package
相当与XML中<property name="typeAliasesPackase">
别名配置,一般取其下实体类类名作为别名。 -
datasource
数据源的配置,name
表示当前数据源的名称,类似于之前的<bean id="dataSource">
id属性,这里可以任意指定,因为我们无需关注Spring是怎么注入这个Bean对象的。 druid
代表本项目中使用了阿里的druid连接池,driver-class-name:
相当于XML中的<property name="driverClassName">
;url
代表XML中的<property name="url">
;username
代表XML中的<property name="username">
;password
代表XML中的<property name="password">
;其他druid的私有属性配置不再解释。这里注意druid连接池和c3p0连接池在XML的<property>的name中就不同,在此处SpringBoot的配置中当然名称也不同。
如果Spring整合Mybtis的配置你已经很熟悉了,那么这个配置你肯定也很眼熟,从英文名称上就很容易区分出来。这里需要注意的就是YAML语法规定不同行空格代表了不同的层级结构。
既然完成了SpringBoot-Mybatis基本配置下面我们实战讲解如何实现基本的CRUD。
实现查询
1.在
src/main/java/cn/tycoding/entity/
下新建User.java
实体类
2.在src/main/java/cn/tycoding/service/
下创建BaseService.java
通用接口,目的是简化service层接口基本CRUD方法的编写。
以上就是我对Service层基本CRUD接口的简易封装,使用了泛型类,其继承接口指定了什么泛型,T就代表什么类。
3.在
src/main/java/cn/tycoding/service/
下创建UserService.java
接口:
4.在src/main/java/cn/tycoding/service/impl/下创建UserServiceImpl.java实现类:
4.在src/main/java/cn/tycoding/service/impl/
下创建UserServiceImpl.java
实现类:
5.在src/main/java/cn/tycoding/mapper/
下创建UserMapper.java
Mapper接口类:
如上,我们一定要使用@Mapper
接口标识这个接口,不然Mybatis找不到其对应的XML映射文件。
6.在
src/main/resources/mapper/
下创建UserMapper.xml
映射文件:
7.在src/main/java/cn/tycoding/controller/admin/
下创建UserController.java
8.运行
src/main/java/cn/tycoding/SpringbootApplication.java
的main方法,启动springboot
在浏览器上访问localhost:8080/findAll
即可得到一串JSON数据。