• Spring Boot 系列三:如何自定义一个SpringBoot Srarter


     前言

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

    目录

    如何自定义一个SpringBoot Srarter?

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

    编写配置文件

    自动装配

    配置自动类

    测试


    如何自定义一个SpringBoot Srarter?

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

    1.         <dependency>
    2.             <groupId>org.springframework.bootgroupId>
    3.             <artifactId>spring-boot-starterartifactId>
    4.         dependency>
    5.         <dependency>
    6.             <groupId>org.springframework.bootgroupId>
    7.             <artifactId>spring-boot-configuration-processorartifactId>
    8.             <optional>trueoptional>
    9.         dependency>
    1. 编写配置文件

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

      1. @ConfigurationProperties(prefix = "hello")
      2. public class HelloProperties {
      3.     private String name;
      4.     //省略getter、setter
      5. }
    2. 自动装配

      创建自动配置类HelloPropertiesConfigure

      1. @Configuration
      2. @EnableConfigurationProperties(HelloProperties.class)
      3. public class HelloPropertiesConfigure {
      4. }
    3. 配置自动类

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

      1. org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
      2.   cn.fighter3.demo.starter.configure.HelloPropertiesConfigure
    4. 测试

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

      • 创建一个工程,引入自定义starter依赖

        1.         <dependency>
        2.             <groupId>cn.fighter3groupId>
        3.             <artifactId>demo-spring-boot-starterartifactId>
        4.             <version>0.0.1-SNAPSHOTversion>
        5.         dependency>
      • 在配置文件里添加配置

        hello.name=张三
        
      • 测试类

        1. @RunWith(SpringRunner.class)
        2. @SpringBootTest
        3. public class HelloTest {
        4.     @Autowired
        5.     HelloProperties helloProperties;
        6.     @Test
        7.     public void hello(){
        8.         System.out.println("你好,"+helloProperties.getName());
        9.     }
        10. }
      • 运行结果

                                                         运行结果

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

  • 相关阅读:
    Windows11 使用WSL安装虚拟机
    618洗地机全网热门推荐,跟着买错不了
    C++重点归纳
    初始化项目骨架(Web3项目一实战之一)
    用户交互引导大模型生成内容特征,LLM-Rec框架助力个性化推荐!
    三种获取URL参数值的方法
    Day 87
    SSM整合案例分析(详解)
    01-ZooKeeper快速入门
    SpringSecurity---PasswordEncoder
  • 原文地址:https://blog.csdn.net/m0_63722685/article/details/126082845