當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
Spring @Import注解配置类方法内部调用没有注入属性值的坑
生活随笔
收集整理的這篇文章主要介紹了
Spring @Import注解配置类方法内部调用没有注入属性值的坑
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、場景復現
application.yaml
spring:application:name: config-testprofiles:active: devconfig:config-01:name: zhansancode: 001config-02:name: lisicode: 002?導入配置類
@Configuration @Import(ImportConfig.class) public class Config {@Bean@ConfigurationProperties(prefix = "config.config-a")public ConfigInfo oneConfig() {return new ConfigInfo();}@Beanpublic String oneName() {ConfigInfo configInfo = this.oneConfig();return configInfo.getName();}} Import配置類 public class ImportConfig {@Bean@ConfigurationProperties(prefix = "config.config-b")public ConfigInfo twoConfig() {return new ConfigInfo();}@Beanpublic String twoName() {ConfigInfo configInfo = this.twoConfig();return configInfo.getName();}@Beanpublic String twoName1(@Qualifier("twoConfig") ConfigInfo configInfo) {return configInfo.getName();} }運行結果
oneName為zhansan
twoName為null
twoName為lisi
?
?
?二、分析原因
由于@Configuration標注的類代理,自動增強攔截功能。@Import的類沒有被@Configuration修飾,所有沒有增強方法注入
總結
以上是生活随笔為你收集整理的Spring @Import注解配置类方法内部调用没有注入属性值的坑的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 有了域名公司网站怎么建设(有了域名公司网
- 下一篇: SpringBoot2.1.9 Myba