SpringBoot封装starter

在真实的开发中,自己封装starter 的场景是非常多,看完这篇文章,让你成为也会封装starter 的大神。

首先我们得了解一个注解,那就是@SpringBootApplication 

想必大家都知道,这个注解我们一般是打在SpringBoot项目的启动类上,但是你真的了解这个注解吗?

@SpringBootApplication 注解,它是一个组合标签,包括:

  1. SpringBootConfuration ,本质是一个 Configuration ,代表Spring的配置类。
  2. ComponentScan IOC自动扫描的注解 ,会去扫描类上是否有:@Component ,@Respository ,@Service @Controller ,如果有,就会把这个类自动注册到Spring容器中。
  3. EnableAutoConfiguration :就是启动SpringBoot自动配置的注解。

在 @EnableAutoConfiguration 注解中,注册了一个选择器,其中有一个方法会去返回很多的自动配置的的全限定名,这些类会自动注册到Spring容器中,

那它是怎么去找到这些所谓的自动配置类的呢?

它会通过Spring的SPI接口,也就是通过一个SpringFactoryLoader去扫描 classpath中的所有的jar包中的 MET-INF/spring.factories 中的自动配置类,比如: DispatchServlert就对应了DispatchServlertAutoConfiguration自动配置类 , 它通过@Bean+方法的方式注册了一个 DispatchServlert 到Spring容器中了。

看到这里我向想大家应该有思路了,下面带大家一步一步封装starter

首先,在我们的项目里新建一个模块,编写自动配置类:

@Configuration
public class XxxAutoConfiguration {
    @Bean
    public XxxTemplate xxxTemplate() {
        return new XxxTemplate();
    }
}

自定义XxxTemplate

public class XxxTemplate {
    //编写相关方法
  
}

在resource文件夹下建META-INF文件夹,去别的jar包C一个spring.factories,并且将自动配置类的全限定名粘贴在里面:

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
    cn.yjcer.autoconfigure.XxxAutoConfiguration

Spring Boot 会扫描 starter 包里的 META-INF/spring.factories 文件,文件中列出了各种自动配置类。当满足特定条件(如类路径中有某个类、某个系统属性存在或某个环境变量设置为特定值等)时,相应的自动配置类会被加载并实例化,从而自动配置好对应的功能组件。

最后在别的模块,导入我们自定义的starter,在所需要的地方注入我们的Template,就可以调用里面的方法了,是不是很简单呢?

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
SpringBoot封装Starter是一种方便的方式,可以将一些通用的配置和功能封装成一个可复用的模块,以供其他项目使用。通过引用和的内容,我们可以了解到封装自己的Starter主要需要进行以下几个步骤: 1. 创建一个普通的Java项目,作为Starter的源代码根目录。 2. 在项目的pom.xml文件中添加必要的依赖,例如Spring Boot相关的依赖。 3. 在项目的src/main/resources目录下创建META-INF目录,并在其中创建一个名为spring.factories的文件。在该文件中,配置Starter的自动配置类,如com.example.myspringbootstarter.MyServiceAutoConfiguration。这样Spring Boot在启动时会自动加载该自动配置类。 4. 在Starter项目中实现需要封装的功能和配置,可以包括自定义的Bean、配置类、自动配置类等。 5. 将封装好的Starter项目打包,并发布到Maven仓库供其他项目使用。 通过引用的内容,我们还可以了解到在使用封装好的Starter时,需要在项目的pom.xml文件中添加对Starter的依赖。例如,使用groupId为com.example,artifactId为my-spring-boot-starter的Starter,并指定版本号为0.0.1-SNAPSHOT。 综上所述,SpringBoot封装Starter是一种将通用功能和配置封装成可复用模块的方式,方便项目开发和维护。通过合理配置和使用Starter,可以提高开发效率并降低项目的复杂性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [SpringBoot封装自己的Starter的实现方法](https://download.csdn.net/download/weixin_38705252/12749617)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [SpringBoot封装自己的starter](https://blog.csdn.net/ldllovegyh/article/details/124861446)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值