springboot 自定义starter

自定义start启动器的简单流程

pom文件

复制代码
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.1.2</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>mystarter-spring-boot-starter</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>mystarter-spring-boot-starter</name>
    <description>mystarter-spring-boot-starter</description>
    <properties>
        <java.version>17</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--‐导入配置文件处理器,配置文件进行绑定就会有提示-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>
    </dependencies>

</project>
复制代码
复制代码
@RestController
public class MyControler {
    //注入配置文件类
    @Autowired
    Myproperties myproperties;

    @RequestMapping("/hello")
    public String hello(){
        return myproperties.getName() +"hello";
    }
}
复制代码
复制代码
@ConfigurationProperties(prefix = "test.starter")
public class Myproperties {
    private String name;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}
复制代码
复制代码
//启动类启动配置
@Configuration
//启动条件,需要配置文件配置 test.starter.name 属性
@ConditionalOnProperty("test.starter.name")
//导入配置文件
@EnableConfigurationProperties(Myproperties.class)
public class MyAutoConfiguration {

    @Bean
    public MyControler myControler(){
        return new MyControler();
    }
}
复制代码

 注意:3.x版本的springboot 的启动类配置是放在  META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 下的,

以前的版本可以放在 META-INF/spring.properties里 注意区别版本

 使用:pom.xml 导入自制启动类。注意使用前要吧自定义启动类jar包导入到本地仓库,否则maven引用不到

        <dependency>
            <groupId>com.example</groupId>
            <artifactId>mystarter-spring-boot-starter</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>

配置文件添加配置,这是启动类启动的条件:

 

 

posted @   花开如梦  阅读(37)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示