分享一次使用Spring Boot来开发后端接口的操作步骤
先安装ideal,按照网络上的相关教程配置环境。接着按着下面的步骤跟着写,一步一步来,建议代码手写一遍,加深印象,同时也避免一些包引入带来的相关路径问题。
1.创建springboot项目
- 使用IDE(如IntelliJ IDEA)或 Spring Initializr 创建项目
-
打开idea
-
选择创建spring项目,注意填写自己的项目名
-
选择需要的依赖
- 选择依赖:
Spring Web
、MySQL Driver
、MyBatis
MySql Deriver
,JDBC API
依赖选择完成之后,直接创建项目
ps:如果出现这个connection out的报错,一看发现是gradle在build时超时了 解决方法如下:

js
https\://mirrors.cloud.tencent.com/gradle/gradle-7.5.1-bin.zip
项目创建成功,果然是这个问题。

第一次下载包比较慢,可以考虑使用镜像
2.启动并配置数据库
先安装navicat ,然后连接数据库
1.创建数据 2.创建表
3. 添加数据

3.修改文件名称
将application.properties
修改为application.yml

application.yml
中添加文件内容如下
yml
server:
port: 8085
spring:
#???????
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/dy_process?characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
username: root
password: 123456
mybatis:
mapper-locations: classpath:mapper/*.xml
然后访问localhost:8085这个地址,出现以下界面表示启动成功
4. 新建controller包(控制层)
controller层: 负责请求转发,接收页面过来的参数,传给service处理,接到返回值,并再次传给页面。
建立UserController
类,如下:

UseController类中的代码如下:
建议自己敲一遍,不要盲目复制
java
package com.example.demo.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class UserController {
@RequestMapping("/getName")
public String getName(){
return "看到我就成功啦!";
}
}
-
@RestController
注解是Spring MVC中用于简化RESTful Web服务开发的一个特性。它不仅声明了该类是一个控制器,而且其所有方法的返回值都将直接作为HTTP响应的正文返回,无需通过视图解析器 -
@RequestMapping
注解的主要功能是将客户端的请求映射到特定的处理器方法上。当Spring MVC接收到一个请求时,它会查找请求映射,并调用相应的处理器方法来处理这个请求。 访问地址,看到如下界面,说明成功了

5. 新建Animal类,生成getter、setter,构造函数

给前端返回Aminal对象类型
结果如下:

6. 新建一个entity(实体类)
Entity层,顾名思义就是实体层,放置一个个实体,及其相应的set、get方法。如果想要对数据库进行一些操作(比如说读取)的话,就要先写entity层。
entity下编写一个User类
7. 新建一个mapper(数据访问层)
mapper层:数据存储对象,相当于DAO层,mapper层直接与数据库打交道(执行SQL语句),接口提供给service层。
新建一个Mapper
包,在Mapper包下新建一个UserMapper


-
@Mapper
: 这个注解一般使用在Dao层接口上,相当于一个mapper.xml
文件,它的作用就是将接口生成一个动态代理类。加入了@Mapper注解,目的就是为了不再写mapper映射文件。这个注解就是用来映射mapper.xml文件的。 -
使用@mapper后,不需要在spring配置中设置扫描地址,通过mapper.xml里面的namespace属性对应相关的mapper类,spring将动态的生成Bean后注入到ServiceImpl中
8. 新建mapper文件夹,在文件夹下建立一个UserMapper.xml
文件
这里的mapper 定义MyBatis框架中的映射关系的
UserMapper.xml
文件代码如下:
java
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//dtd Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.example.springdemo.mapper.UserMapper">
<!--org.example.springdemo.entity.User-->
<select id="findAll" resultType="org.example.springdemo.entity.User">
SELECT * FROM user
</select>
</mapper>


9.新建一个service包,处理业务逻辑(业务逻辑层)
在包里新建一个类,这里进行业务逻辑处理,而这里没有进行处理,直接将mapper的结果进行返回
service:服务层
由于Dao里面存放了对表操作的方法,entity类中存放了映射表的POJO类。Service的作用就是将Dao和entity类整合起来,进行再次封装,封装成一个方法,我们调用这个方法,就实现了对某个表的增删改查操作

@Service注解 用于类上,标记当前类是一个service类,加上该注解会将当前类自动注入到spring容器中,不需要再在applicationContext.xml文件定义bean了。
10.在controller里面返回结果给前端
注意下面三个框框,框起来的地方
测试结果如下:
最后的项目目录如下,可以参考
js
├─.gradle
│ ├─7.5.1
│ │ ├─checksums
│ │ ├─dependencies-accessors
│ │ ├─executionHistory
│ │ ├─fileChanges
│ │ ├─fileHashes
│ │ └─vcsMetadata
│ ├─buildOutputCleanup
│ └─vcs-1
├─.idea
├─bin
│ ├─main
│ │ ├─mapper
│ │ ├─org
│ │ │ └─example
│ │ │ └─springdemo
│ │ │ ├─controller
│ │ │ ├─entity
│ │ │ ├─mapper
│ │ │ └─service
│ │ └─templates
│ └─test
│ └─org
│ └─example
│ └─springdemo
├─build
│ ├─classes
│ │ └─java
│ │ └─main
│ │ └─org
│ │ └─example
│ │ └─springdemo
│ │ ├─controller
│ │ ├─entity
│ │ ├─mapper
│ │ └─service
│ ├─generated
│ │ └─sources
│ │ ├─annotationProcessor
│ │ │ └─java
│ │ │ └─main
│ │ └─headers
│ │ └─java
│ │ └─main
│ ├─resources
│ │ └─main
│ │ ├─mapper
│ │ ├─static
│ │ └─templates
│ └─tmp
│ └─compileJava
├─gradle
│ └─wrapper
└─src
├─main
│ ├─java
│ │ └─org
│ │ └─example
│ │ └─springdemo
│ │ ├─controller
│ │ ├─entity
│ │ ├─mapper
│ │ └─service
│ └─resources
│ ├─mapper
│ ├─static
│ └─templates
└─test
└─java
└─org
└─example
└─springdemo