后端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,可以直接看到数据库查询的内容。

相关推荐
她的男孩4 小时前
开放接口限流从 20 改到 200 还是每分钟 20 次:拆完防重放+幂等+限流,我找到 5 个静默失效的坑
java·后端·架构
天天被压力4 小时前
【Python 量化取数指南 #13】Python 把行情落库:sqlite 一键存,回测随用随取
java·人工智能·python
天天被压力4 小时前
【Python 量化取数指南 #14】Python 清洗行情数据:复权停牌对齐,回测不翻车
java·人工智能·python
独泪了无痕4 小时前
开发利器Hutool之MapUtil的使用
java·后端
唐青枫4 小时前
Java ThreadLocal 详解:从线程隔离到线程池实战,彻底避开脏数据与内存泄漏
java
T_Apollo4 小时前
2.6 Java 11 版本新增特性和类
java
码农-0044 小时前
Springboot 集成 Ehcache操作数据库显示SQL语句设置
数据库·spring boot·sql
用户3721574261354 小时前
如何使用 Java 创建 Excel 数据透视表
java
用户3126874877204 小时前
JVM 内存结构全链路:堆、栈、方法区、元空间
java
IT枫斗者枫哥4 小时前
Spring Boot导入返回409,为什么第一行还是入库了?
java·spring boot·后端