如何自定义一个SpringBoot Srarter

Posted 叶秋学长

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何自定义一个SpringBoot Srarter相关的知识,希望对你有一定的参考价值。


 前言

上一期我们通过学习知道了自动配置原理,其实创建一个自定义SpringBoot Starter也很简单。

目录

​如何自定义一个SpringBoot Srarter?​

​首先创建一个项目,命名为demo-spring-boot-starter,引入SpringBoot相关依赖​

​编写配置文件​

​自动装配​

​配置自动类​

​测试​


如何自定义一个SpringBoot Srarter?

首先创建一个项目,命名为demo-spring-boot-starter,引入SpringBoot相关依赖

        <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>

如何自定义一个SpringBoot

编写配置文件

这里定义了属性配置的前缀

@ConfigurationProperties(prefix = "hello")
public class HelloProperties

private String name;

//省略getter、setter

自动装配

创建自动配置类HelloPropertiesConfigure

@Configuration
@EnableConfigurationProperties(HelloProperties.class)
public class HelloPropertiesConfigure

配置自动类

在​​/resources/META-INF/spring.factories​​文件中添加自动配置类路径

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\\
cn.fighter3.demo.starter.configure.HelloPropertiesConfigure

测试

至此,随手写的一个自定义SpringBoot-Starter就完成了,虽然比较简单,但是完成了主要的自动装配的能力。

  • 创建一个工程,引入自定义starter依赖
        <dependency>
<groupId>cn.fighter3</groupId>
<artifactId>demo-spring-boot-starter</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
  • 在配置文件里添加配置
hello.name=张三
  • 测试类
@RunWith(SpringRunner.class)
@SpringBootTest
public class HelloTest
@Autowired
HelloProperties helloProperties;

@Test
public void hello()
System.out.println("你好,"+helloProperties.getName());

  • 运行结果
  • 如何自定义一个SpringBoot

  • 如何自定义一个SpringBoot

    编辑运行结果

本期分享到此为止,关注博主不迷路,叶秋学长带你上高速~~


以上是关于如何自定义一个SpringBoot Srarter的主要内容,如果未能解决你的问题,请参考以下文章

如何在SpringBoot自定义一个starter

SpringBoot 如何自定义自己的条件注解与自动配置?

自定义SpringBoot Starter 实现请求日志打印

springboot 源码解析## 如何自定义 starter 让 springboot 扫描到你的配置

SpringBoot自定义starter

如何自定义starter