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:
分为依赖和配置文件:
具体的两个依赖: //在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:1234562.三层数据关系
后端处理逻辑:浏览器发送请求,经过controller层,controller调用service方法,service调用mapper方法,mapper调用sql语句使用数据库。controller、service、mapper三层依次传递数据并处理后返回前端。以下展示目录结构,用示例代码简要说明三层作用和关联:
这里主要写三层的关键代码,为了理清三层的关系。(新建数据库,并创建一个表user)
//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,可以直接看到数据库查询的内容。