自定义stater的创建

什么是Starter

SpringBoot是由许多的Starter组成的,Starter是SpringBoot非常重要的一部分,它是一些jar包,也可以理解为一个可拔插式的插件。正是因为这些starter,我们在需要使用某个插件时开发者不需要关注各种依赖库的处理,不需要具体的配置信息,而是由Spring Boot自动通过classpath路径下的类发现需要的Bean,并织入相应的Bean。

比如:你想使用Reids插件,那么可以使用spring-boot-starter-redis;如果想使用MongoDB,可以使用spring-boot-starter-data-mongodb

为什么要自定义Starter

我们在开发过程中,经常会有使用一些独立于业务之外的配置模块或工具。如果我们将这些可独立于业务代码之外的功能配置模块封装成一个个starter,复用的时候只需要将其在pom中引用依赖即可,SpringBoot为我们完成自动装配。不需要重复编写,方便快捷,而且方便管理。

创建一个简单的Starter

现在我们通过创建一个简单的starter来说明自定义starter的创建。

  1. 先创建一个新的SpringBoot项目

在这里插入图片描述

将lombok和spring-boot-configuration-processor两个依赖勾上。

spring-boot-configuration-processor的作用是在配置文件中写配置时有提示

在这里插入图片描述

  1. 新建一个User类
@ConfigurationProperties("lmc.simple")//配置文件时的前缀
@Data
@Configuration
public class User {
    private int id;
    private String name;
}
  1. 新建一个配置类
@Configuration
@Data
@ComponentScan
public class MyStarterConfig {
    @Bean//返回的User为一个Bean,并放到ioc容器中
    public User user() {
        return new User();
    }
}
  1. 在resources下创建META_INF/spring.factories

在这里插入图片描述

在spring.factories文件中配置自己的自动配置类

#spring-boot-start
org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.lmc.simplestarter.MyStarterConfig

将原有的配置文件和主启动类删除

  1. 修改pom.xml文件
<groupId>com.lmc</groupId>
<artifactId>lmc-simple-spring-boot-starter</artifactId><!--starter的名称-->
<version>0.0.1-SNAPSHOT</version> <!--版本号-->

删除pom.xml中的build内容,不然会报错

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <excludes>
                    <exclude>
                        <groupId>org.projectlombok</groupId>
                        <artifactId>lombok</artifactId>
                    </exclude>
                </excludes>
            </configuration>
        </plugin>
    </plugins>
</build>

6.生成starter

在这里插入图片描述

在maven中进行打包,先点击闪电图标将test屏蔽,然后执行install进行打包

经过上面的过程就生成了自己的starter,并保存到了我们本地的maven中。

  1. starter的使用

自定义starter的使用和我们平常开发使用其他插件导入依赖一样。

<groupId>com.lmc</groupId>
<artifactId>lmc-simple-spring-boot-starter</artifactId>
<version>0.0.1</version>

新建一个测试项目,只需将上面的内容加入到项目中的pom.xml文件中。

在全局配置文件中配置属性。

lmc:
  simple:
    id: 1
    name: '小王'

编写测试类

在这里插入图片描述
更多内容请移步个人博客:乌托邦

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值