来~ 手写一个spring-boot-starter

来!手写一个spring-boot-starter

前言

我们都知道,Spring Boot最大的特点就是自动装配,简化依赖,可以让我们快速的搭建项目。使用Spring Boot之后,我们要想在项目中使用一些其他框架,只需要引入对应的Starter依赖就可以了。

那么你在实际开发中是否也开发过一些基础功能,这些功能需要在你们的Spring Boot项目中使用呢?

而这些功能可能在其他项目中可能也需要用到,如果我们把相同的功能在另一个项目中重新再写一遍的话肯定不是一个好方法。

我们可以将我们的功能做成一个对应的Starter模块,在项目中要使用时直接作为Maven依赖添加进去就OK了,这样一来,不仅不用重复开发,并且在功能做升级时,也能有更好的版本管理。

构建一个spring-boot-starter

接下来我们来构建一个spring-boot-starter,为了方便描述,假设我们的这个Starter的主要功能是用来方便的发送和接收异步事件。注意我们本文的目的主要是讲如何构建Starter,所以对于发送接收异步事件的实现细节不会展开描述。

基础概念

在开始构建之前,我们需要先同步几个基本的概念。

Application Context

只要你对Spring有所了解,那么一定知道Application Context,这是一个用于管理Spring bean的容器,它包含我们项目中所有的Controller、Service、Repository、Component等所有的对象。

@Configuration

@Configuration是Spring中的一个注解,使用该注解标注的类相当于是Spring的xml配置文件,其主要目的是为Application Context提供一些Bean对象。你可以理解为@Configuration标注的类就是一个Bean对象的工厂。

Auto-Configuration

在Spring Boot中有一个@EnableAutoConfiguration注解,它通过读取spring.factories文件里的EnableAutoConfiguration下面指定的类,来初始化指定类下面的所有加了@Bean的方法,并初始化这Bean。并且可以指定条件,按照具体的条件决定是否要自动装配Bean对象。


创建工程

接下来我们开始我们Starter的构建,我们给它一个名字叫 spring-boot-starter-eventmessage

假设我们需要在一个微服务环境中,要实现一个允许各个服务之间进行异步通信。我们的spring-boot-starter-eventmessage主要提供以下功能:

  • 首先,我们需要有一个EventPu
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值