一站式
企业服务平台
400-6789-948

springboot中的自动配置类(springboot的自动配置类)

application.properties 包含如下配置

test.config.host=127.0.0.1test.config.port=7001test.config.conI=AAAAAAAA 

有TestConfig类

publicclassTestConfig{privateStringhost;privateStringport;privateStringconI;} 

为了达到在系统启动时能够在application.properties中将前缀设置成test.config配置项目

全部初始化为TestConfig@Bean

而且可以注入其它@Component

创建SpringbootWeb项目

项目文件的结构

springboot中的自动配置类(springboot的自动配置类)

POM文件的内容如下

4.0.0 org.springframework.boot spring-boot-starter-parent 2.6.6 com.my.demo configTest 0.0.1-SNAPSHOT config-Test DemoprojectforSpringBoot 17 org.springframework.boot spring-boot-starter-web org.projectlombok lombok 1.18.22 org.springframework.boot spring-boot-starter-test test org.springframework.boot spring-boot-maven-plugin

主类文件是ConfigTestApplication,具体内容如下

@ComponentScan(basePackages={"com.my.demo.config"})这一项必须要有,

由于TestConfig类与主类没有位于一个数据包之下

packagecom.my.demo.configTest;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;importorg.springframework.context.annotation.ComponentScan;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RestController;importcom.my.demo.config.TestConfig;publicclassConfigTestApplication{privateTestConfigtestConfigBean;publicStringindex(){return"执行:"+testConfigBean.getHost();}publicstaticvoidmain(String[]args){SpringApplication.run(ConfigTestApplication.class,args);}}

TestConfig的文档内容是这样的,在类中无需添加@Component的注释

packagecom.my.demo.config;importorg.springframework.boot.context.properties.ConfigurationProperties;importlombok.Data;(prefix="test.config")publicclassTestConfig{privateStringhost;privateStringport;privateStringconI;privateStringname;}

TestConfigCreater文件内容为,这里注意EnableConfigurationProperties

有些文章认为需含有该注解、配置才会自动有效

个人尝试过,含与不含并无差异,也不知是Springboot版的缘故

packagecom.my.demo.config;importorg.springframework.boot.context.properties.EnableConfigurationProperties;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;importlombok.extern.slf4j.Slf4j;@Slf4j@Configuration//@EnableConfigurationProperties(TestConfig.class)publicclassTestConfigCreater{@BeanpublicTestConfigtestConfigBean(){log.info("创建testConfig...");returnnewTestConfig();}}

application.properties里添加站点地址

server.port=8060

开始试验

springboot中的自动配置类(springboot的自动配置类)

赞(6) 联系作者
未经允许不得转载:【聚禄鼎】一站式企业服务平台 » springboot中的自动配置类(springboot的自动配置类)
分享到

评论 抢沙发

让我们一起创建更加美好的网络世界

本站部分资源来自于网络收集,若侵犯了你的隐私或版权,请及时联系我们删除有关信息!

扫码添加站长微信

扫码添加小编微信

登录

找回密码

注册