栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringBoot核心【自定义starter】,springboot基础教程

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringBoot核心【自定义starter】,springboot基础教程

配置依赖


在pom配置文件中添加如下依赖,增加SpringBoot自身的自动配置作为依赖。

org.springframework.boot

spring-boot-autoconfigure

2.1.4.RELEASE

junit

junit

4.12

org.springframework.boot

spring-boot-configuration-processor

2.1.4.RELEASE

属性配置类


@ConfigurationProperties(prefix = “hello”)

public class HelloServiceProperties {

private static final String MSG = “world”;

private String msg = MSG;

public String getMsg() {

return msg;

}

public void setMsg(String msg) {

this.msg = msg;

}

}

判断依据类


public class HelloService {

private String msg;

public String sayHello(){

return "Hello "+msg;

}

public String getMsg() {

return msg;

}

public void setMsg(String msg) {

this.msg = msg;

}

}

根据此类的存在与否来创建这个类的bean

自动配置类


@Configuration

@EnableConfigurationProperties(HelloServiceProperties.class)

@ConditionalOnClass(HelloService.class)

@ConditionalOnProperty(prefix = “hello”,value =“enabled”,matchIfMissing = true)

public class HelloServiceAutoConfiguration {

@Autowired

private HelloServiceProperties helloServiceProperties;

@Bean

@ConditionalOnMissingBean(HelloService.class)

public HelloService helloService(){

HelloService helloService = new HelloService();

helloService.setMsg(helloServiceProperties.getMsg());

return helloService;

}

}

根据HelloServiceProperties提供的参数,并通过@ConditionalOnClass判断HelloService这个类在类路径中是否存在,且当容器中没有这个Bean的情况下自动配置这个bean。

注册配置


若想自动配置生效,我们需要注册自动配置类,在src/main/resources下新建meta-INF/spring.factories,如下:

org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.dpb.spring_boot_starter_hello.

《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》

【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享

HelloServiceAutoConfiguration

如果有多个自动配置,则用“,”隔开。

结构如下:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/687075.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号