自定義Starter

01.引入依賴

<!--自定義starter的核心依賴-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-autoconfigure</artifactId>
    <version>2.7.2</version>
</dependency>

02.創(chuàng)建標記(只有引用此starter的應用中掃描到標記類才開啟自動配置)

public class WorkflowConfigMarker {
}

03.配置開關(添加配置開關注解,才會掃描到標記類才會開啟自動配置)

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Import(WorkflowConfigMarker.class)
public @interface EnableWorkflowRegisterServer {
}

04.配置容器(只有掃描到標記類時配置容器才會生效 ,才會注入bean)

@Configuration
@ConditionalOnBean(WorkflowConfigMarker.class)
public class WorkflowAutoConfiguration {

    static {
        System.out.println("WorkflowAutoConfiguration init ...");
    }

    @Bean
    public WorkflowProperties simpleBean(){
        return new WorkflowProperties();
    }
}

05.配置參數(shù)(配置參數(shù)可以在引用此starter項目的配置文件中配置)

@Configuration
@EnableConfigurationProperties
@ConfigurationProperties(prefix = "workflow")
public class WorkflowProperties {
    
    private String configurationParameter1;

    private String configurationParameter2;

    public String getConfigurationParameter1() {
        return configurationParameter1;
    }

    public void setConfigurationParameter1(String configurationParameter1) {
        this.configurationParameter1 = configurationParameter1;
    }

    public String getConfigurationParameter2() {
        return configurationParameter2;
    }

    public void setConfigurationParameter2(String configurationParameter2) {
        this.configurationParameter2 = configurationParameter2;
    }
}

06.創(chuàng)建文件(創(chuàng)建 :/ resource/ META-INF/ spring.factories 文件)

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.lagou.configuration.WorkflowAutoConfiguration
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容