当前位置: 首页 > article >正文

SpringBoot速成(六)自定义starter

参考视频:黑马程序员springboot3+vue P10-P11

1.自动配置:

在pom.xml中引入web依赖,则自动生成一个dispatcherServlet

怎么看一个注解的解释:

启动类注解:

Ctrl+click:

2.自定义starter:多个团队用时

再创建一个项目:

pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>spb2</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
    </properties>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
        <version>3.1.2</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jdbc</artifactId>
        <version>3.0.0</version>
    </dependency>
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.5.11</version>
    </dependency>
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis-spring</artifactId>
        <version>3.0.0</version>
    </dependency>
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis-spring</artifactId>
        <version>3.0.0</version>
        <scope>compile</scope>
    </dependency>


</dependencies>
</project>

MyBatisAutoConfig:

SqlSessionFactory 是 MyBatis 中的核心组件,它的主要作用是创建 SqlSession,而 SqlSession 是执行命令、获取映射器和管理事务的。


MapperScannerConfigurer 是一个 Spring 集成 MyBatis 的工具类,用于扫描指定包路径下的接口,并将带有 @Mapper 注解的接口注册为 Spring 的 Bean。

package com.itheima.config;

import org.apache.ibatis.annotations.Mapper;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.mapper.MapperScannerConfigurer;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.boot.autoconfigure.AutoConfigurationPackages;
import org.springframework.context.annotation.Bean;

import javax.sql.DataSource;
import java.util.List;

//自动配置类
public class MyBatisAutoConfig {
    //SqlSessionFactory:创建sqlsession,并告诉连接哪个database;
    @Bean
    public SqlSessionFactoryBean sqlSessionFactoryBean(DataSource dataSource){
        SqlSessionFactoryBean sqlSessionFactoryBean=new SqlSessionFactoryBean();
        sqlSessionFactoryBean.setDataSource(dataSource);
        return  sqlSessionFactoryBean;
    }


    @Bean
public MapperScannerConfigurer mapperScannerConfigurer(BeanFactory beanFactory){
        //扫描哪个包
    MapperScannerConfigurer mapperScannerConfigurer=new MapperScannerConfigurer();
    List<String> packages= AutoConfigurationPackages.get(beanFactory);
    String p=packages.get(0);//包名
    mapperScannerConfigurer.setBasePackage(p);

    //扫描mapper接口
    mapperScannerConfigurer.setAnnotationClass(Mapper.class);
    return mapperScannerConfigurer;
}





}

META-INF.spring:

com.itheima.config.MyBatisAutoConfig


http://www.kler.cn/a/537634.html

相关文章:

  • 化学-基础知识一
  • Pycharm调试Deepseek API
  • STM32的HAL库开发---通用定时器(TIMER)---定时器脉冲计数
  • Linux之安装docker
  • Zenoh在工业物联网场景中的性能研究
  • DeepSeek-V3 与 DeepSeek R1 对比分析:技术与应用的全面解析
  • 企业4个内外网数据摆渡问题需要注意
  • Kafka系列之:定位topic只能保存最新数据的原因
  • 全国计算机等级考试(NCRE)四级计算机网络考试大纲(2025年版)
  • Vite 为什么快,是怎么打包的
  • C# OpenCV机器视觉:智能水果采摘
  • 卷积神经网络(CNN)池化层的最大池化(Max Pooling)和 平均池化(Average Pooling)
  • Spring MVC异常处理:DefaultHandlerExceptionResolver的使用与实例
  • JDK实现动态代理介绍+案例
  • Termux安装ssh实现电脑ssh
  • 详解在Pytest中忽略测试目录的三种方法
  • DeepSeek:从入门到精通(100页PDF)
  • MySQL InnoDB引擎 事务隔离级别
  • 【AIGC】冷启动数据与多阶段训练在 DeepSeek 中的作用
  • 网络编程day2-套接字与TPC服务器与客户端的搭建
  • 什么是java中的线程同步
  • 【Python实战练习】Python类中的方法:形式与作用详解
  • 三次方程的几何新视界:双曲线-抛物线交点法与旋转圆系法
  • 去除 RequestTemplate 对象中的指定请求头
  • 优惠券平台(十二):EasyExcel解析实现用户优惠券分发(2)
  • 未来AI医院蓝图:源码、机器人与数字孪生如何打造智能医疗APP?