后端springboot框架入门学习--第一篇

Spring Boot 是一个非常流行且强大的 Java 后端开发框架,它的核心目标是简化基于 Spring 框架应用的初始搭建 和开发过程,可以把它理解为 Spring 框架的一个"增强套件"或"快速启动包"。

核心组成部分:启动器、自动配置、外部化配置、Spring Boot Actuator、简化的编程模型。

启动器 :一组预定义 的依赖描述符。只需要引入一个启动器,就可以帮助我们引入开发某个功能所需要的所有相关依赖。

自动配置:Spring Boot在启动的时候会扫描项目的Classpath,根据已有的jar包依赖,自动推断并配置应用程序所需要的组件。

外部化配置 :通过application.properties或者application.yml文件轻松管理配置。(目前主要用yml,properties的写法比较繁琐,yml采用缩进的写法更方便阅读)

Spring Boot Actuator:提供了一系列HTTP端点或JMX来监控和管理运行中的应用。(常用的端点,健康状态:/actuator/health,应用信息:/actuator/info,运行指标:/actuator/metrics)。

简化的编程模型 :主类加上**@SpringBootApplication**注解就能启动整个应用。

1.整合mybatis:

分为依赖和配置文件:

java 复制代码
具体的两个依赖:
//在pom文件中添加依赖,写入后maven刷新
<!--mysql驱动依赖-->
<dependency>
    <groupId>com.mysql</groupId>
    <artifactId>mysql-connector-j</artifactId>
</dependency>

<!--mybatis的起步依赖-->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>3.0.0</version>
</dependency>

添加数据源:
//在application.yml文件中写入datasource
spring:
    datasource:
        driver-class-name:com.mysql.cj.jdbc.Driver
        url:jdbc:mysql://localhost:3306/mybatis
        username:root
        password:123456

2.三层数据关系

后端处理逻辑:浏览器发送请求,经过controller层,controller调用service方法,service调用mapper方法,mapper调用sql语句使用数据库。controller、service、mapper三层依次传递数据并处理后返回前端。以下展示目录结构,用示例代码简要说明三层作用和关联:

这里主要写三层的关键代码,为了理清三层的关系。(新建数据库,并创建一个表user)

java 复制代码
//UserController.java     主要任务就是使用service层的bean对象,然后调用service方法传递参数

@RestController{
    @Autowired  
    private UserService userService;

    RequestMapping("/findById")
    public User findById(Integer id){    //通过id查询用户
        return userService.findById(id);    //返回用户信息
    }
}


//UserService.java      主要任务就是使用mapper层的bean对象,然后调用mapper方法传递参数

public interface UserService {
    public User findById(Integer id);
}

//UserServiceImpl.java       继承service类,详写具体实现功能的代码内容

@Service
public class UserServiceImpl implements UserService {
    @Autowired
    private UserMapper userMapper;

    @Override
    public User findById(Integer id){     //通过id查询用户
        return userMapper.findById(id);    //返回用户信息
    }
}

//UserMapper.java       主要任务就是使用sql语句,与数据库进行交互,返回数据

@Mapper
public interface UserMapper {
    @Select("select * from user where id = #{id}")
    public User findById(Integer id);
}

运行启动类后,直接访问localhost:8080/findById?id=1,可以直接看到数据库查询的内容。

相关推荐
道尔柯南22 分钟前
C++ string 类详解:从常用接口到深拷贝,彻底掌握字符串处理
android·java·c++
kingx31 小时前
Bugku 3122 谷歌小恐龙题解:纯离线逆向 Vault 的 AES-GCM 加密资源(附 Python 解密器)
java·逆向·ctf·bugku·aes-gcm
Linux-lucky1 小时前
45-Linux学习之旅之防火墙与WEB加固
linux·前端·网络·学习·ubuntu
li星野1 小时前
【学习记录】k-Wave 时间步长、CFL 稳定性与参数实验全解析
学习
DevOpenClub3 小时前
职教高考控制线 API:招生类别枚举、筛选与空分数含义
java·数据库·高考
心祭丫丫4 小时前
【每天一个 Python 小案例17】Python 实现通讯录
开发语言·人工智能·笔记·python·学习
露天赏雪5 小时前
第3篇:Sentinel熔断降级实战:大模型接口抖动时的服务兜底方案
java·开发语言·人工智能·spring boot·spring·servlet·sentinel
天天被压力5 小时前
【A股分钟级高频数据完全手册 #06】北交所分钟级数据接口:京市股票Pro版最新分时
java·人工智能·python
天天被压力5 小时前
【A股分钟级高频数据完全手册 #05】指数历史分钟数据接口:Pro版沪深指数分时回放
java·人工智能·python
captain3765 小时前
▲统一功能——DispatcherServlet源码分析
java·spring·java-ee·log4j·maven