手写springboot的jdbc启动器

前言:

        若有不足之处望各位大佬们指正(’∇’)シ

目录

1.创建一个Maven项目

2.创建相关文件

2.1 定义业务接口、需要的实体类等业务对象

2.2 定义配置属性类

2.3定义自动装配类

        2.4新建spring.factories

3.打包

4.使用

        4.1导入依赖

4.2查看依赖

         4.3 是否可以使用


1.创建一个Maven项目

项目名:

hbmdxm-spring-boot-starter-jdbc

项目的基本信息:

<groupId>com.example</groupId>
<artifactId>hbmdxm-spring-boot-starter-jdbc</artifactId>
<version>1.0</version>

导入需要的依赖:

<dependencies>
    <dependency>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-autoconfigure</artifactId>
           <version>2.6.3</version>
           <scope>compile</scope>
    </dependency>
    <dependency>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-configuration-processor</artifactId>
           <version>2.6.3</version>
           <optional>true</optional>
     </dependency>
     <dependency>
          <groupId>mysql</groupId>
          <artifactId>mysql-connector-java</artifactId>
          <version>8.0.15</version>
     </dependency>
</dependencies>

2.创建相关文件

        2.1 定义业务接口、需要的实体类等业务对象

                这里我们只需要一个实体类

    private String driverClass;
    private String url;
    private String userName;
    private String password;
    //得到链接
    public Connection getConn(){
        try {
            Class.forName(driverClass);
            return DriverManager.getConnection(url,userName,password);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
    //关闭链接
    public void close(Connection conn, Statement stat, ResultSet rs){
        try {
            if(rs!=null){
                rs.close();
            }
            if(stat!=null){
                stat.close();
            }
            if(conn!=null){
                conn.close();
            }
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
    }


    public String getDriverClass() {
        return driverClass;
    }

    public void setDriverClass(String driverClass) {
        this.driverClass = driverClass;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

        2.2 定义配置属性类

@ConfigurationProperties(prefix = "hbmdxm.jdbc")
public class BaseDaoProperties {
    private String driverClass="com.mysql.jdbc.Driver";
    private String url="jdbc:mysql://127.0.0.1:3306/java187";
    private String userName="root";
    private String password="123";

    public String getDriverClass() {
        return driverClass;
    }

    public void setDriverClass(String driverClass) {
        this.driverClass = driverClass;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

        2.3定义自动装配类

@Configuration
@EnableConfigurationProperties(BaseDaoProperties.class)
public class BaseDaoAutoConfigure {
    @Autowired
    private BaseDaoProperties bp;
    @Bean
    public BaseDao baseDao(){
        BaseDao bd=new BaseDao();
        bd.setDriverClass(bp.getDriverClass());
        bd.setUrl(bp.getUrl());
        bd.setUserName(bp.getUserName());
        bd.setPassword(bp.getPassword());
        return bd;
}

       2.4新建spring.factories

        Resources目录下新建META-INF/spring.factories,加入自定义starter的配置项

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.example.BaseDaoAutoConfigure

3.打包

通过指令install打成jar包,收录到本地仓库中

通过包名com.example 可以在仓库中查看是否已经存在

D:\Users\aya4\.m2\repository\com\example\hbmdxm-spring-boot-starter-jdbc

4.使用

        4.1导入依赖

                根据hbmdxm-spring-boot-starter-jdbc的项目信息:

                <groupId>com.example</groupId>
                <artifactId>hbmdxm-spring-boot-starter-jdbc</artifactId>
                <version>1.0</version>

<dependency>
     <groupId>com.example</groupId>
     <artifactId>hbmdxm-spring-boot-starter-jdbc</artifactId>
     <version>1.0</version>
</dependency>

        4.2查看依赖

                        导入依赖后我们可以在External LIbraries下查看到

         4.3 是否可以使用

        在配置文件中可以正常提示

hbmdxm.jdbc.driver-class=com.mysql.jdbc.Driver
hbmdxm.jdbc.password=123
hbmdxm.jdbc.url=jdbc:mysql://127.0.0.1:3306/examp
hbmdxm.jdbc.user-name=root
@Autowired
BaseDao baseDao;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

元斗耳月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值