SpringBoot项目为什么需要引入大量的starter?如何自定义starter

为什么我们在使用SpringBoot框架开发Java Web应用需要引入大量的starter?例如,我们引入Redis就在Maven中导入
spring-boot-starter-data-redis。大家都知道SpringBoot的核心功能是自动装配,简化配置,我们通过starter实现SpringBoot自动装配的功能。那么我们如何去构建自己的starter呢?

1 前言

SpringBoot现在几乎占据的Java的大半壁江山,它的优势显而易见,它通过自动装配功能为我们简化了Spring繁杂的配置,并且内嵌Tomcat让我们启动Web项目不需要去自己配置Tomcat,这些都能大大提高我们的开发效率和代码质量。至于我们为什么在使用SpringBoot框架构建项目时,导入其它依赖都是什么什么starter?其实,这些starte就为我们实现了SpringBoot自动装配的功能,下面我们将一起将一下自动装配功能如何实现,自己怎样去构建一个SpringBoot的starter应用。

2 @EnableConfigurationProperties实现自动装配

2.1 创建一个starter项目

通过Maven创建一个项目

在pom文件中添加对应的依赖

<dependencies>        <dependency>            <groupId>org.projectlombok</groupId>            <artifactId>lombok</artifactId>            <version>1.18.22</version>        </dependency>        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-web</artifactId>            <version>2.5.6</version>        </dependency>    </dependencies>复制代码

2.2 创建一个需要自动装配的Bean

使用@
EnableConfigurationProperties注解

创建一个类这个类最后是可以通过配置文件自动装配的,添加注解@
EnableConfigurationProperties时会报错,因为这个是需要将当前对象定义为Spring的一个组件,但是我们不是通过@Component注解注册成为Spring组件的。

/** * @author zhj */@Data@ConfigurationProperties(prefix = "com.zhj.vo.student")public class Student {    private Long id;​    private String name;​    private Integer age;}复制代码

2.3 自动装配类实现

@Configuration是需要进行Bean注册的类

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值