@EnableConfigurationProperties Javadocs对于;标准春豆“;?
对于@EnableConfigurationProperties Javadocs对于;标准春豆“;?,java,spring,spring-boot,Java,Spring,Spring Boot,对于@EnableConfigurationProperties的值元素,说明: 使用Spring快速注册带注释bean的便捷方法。无论此值如何,标准SpringBean也将被扫描 我被这句话弄糊涂了:“不管这个值是多少,标准SpringBean也会被扫描。”我不确定在这个上下文中“标准SpringBean”是什么,它与“@ConfigurationProperties注释Bean”有什么不同。听起来好像有一类bean总是被扫描配置属性,而另一类则不会 据我所知,非@ConfigurationP
@EnableConfigurationProperties
的值
元素,说明:
使用Spring快速注册带注释bean的便捷方法。无论此值如何,标准SpringBean也将被扫描
我被这句话弄糊涂了:“不管这个值是多少,标准SpringBean也会被扫描。”我不确定在这个上下文中“标准SpringBean”是什么,它与“@ConfigurationProperties
注释Bean”有什么不同。听起来好像有一类bean总是被扫描配置属性,而另一类则不会
据我所知,非@ConfigurationProperties
不会受到应用程序配置中是否存在@enableCigurationproperties
的影响。从阅读这本书我也不完全清楚
简而言之,
值
注释的作用是什么?为什么需要区分“标准Spring bean”和“@ConfigurationProperties
注释bean”?因为@ConfigurationProperties
不会注册Spring bean
所以如果你有
@ConfigurationProperties
public class MyCustomProperties {
...
}
@EnableConfigurationProperties(value = MyCustomProperties.class)
public class MyConfiguration{
...
}
Spring不会为MyCustomProperties.class
但是如果你有
@ConfigurationProperties
public class MyCustomProperties {
...
}
@EnableConfigurationProperties(value = MyCustomProperties.class)
public class MyConfiguration{
...
}
然后将MyCustomProperties
创建为Springbean
据
外部化的public@interface ConfigurationProperties注释
配置将其添加到
@如果要绑定和验证某些外部
属性(例如,来自.Properties文件)
因此注释@ConfigurationProperties
被设计为与其他一些注释一起使用,这些注释调用springbean的创建,以便验证正在读取的属性
@EnableConfigurationProperties
只是一个额外的例子,它告诉Spring,即使在那些类上没有使用其他注释,比如@Configuration
或@Component
(例如MyCustomProperties.class),也应该使用带有@ConfigurationProperties
的一些类来创建Springbean.明白了。因此@EnableConfigurationProperties
打开配置属性扫描。将value
元素添加到其中也会为给定的类生成bean。“@ConfigurationProperties
annotated beans”是我把注意力放错了句子的一部分。更仔细地看一下完整的上下文,“快速注册@ConfigurationProperties
注释bean的便捷方法”并不是说它们已经是bean,而是说它将它们注册为bean。