栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如果已经使用@ConfigurationProperties注释了bean,那么@EnableConfigurationproperties有什么区别?

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

如果已经使用@ConfigurationProperties注释了bean,那么@EnableConfigurationproperties有什么区别?

正如M.
Deinum所说的

@EnableConfigurationProperties
是为了支持
@ConfigurationProperties
。如果查看批注Java
Doc,您将看到:

启用对带有ConfigurationProperty注释的Bean的支持。可以以标准方式(例如,使用Bean
@Bean方法)注册ConfigurationProperties Bean,或者为了方便起见,可以在此批注上直接指定。[…]

例如,假设您有一个类,该类的职责是从

application.yml
/
application.properties
中读取和存储与不同数据库建立连接所需的信息。您用添加注释
@ConfigurationProperties

然后,通常会有一个带

@Configuration
注释的类
DataSource

@Bean
为您的应用程序提供一个。您可以使用将
@EnableConfigurationProperties
其链接到
@ConfigurationProperties
该类并相应地初始化您的数据源。

这是一个小例子:

application.yml

data-sources:  db1:    url: "jdbc:postgresql://localhost:5432}/db1"    username: test    password: test  db2:    url: "jdbc:postgresql://localhost:5432}/db2"    username: test    password: test

数据源配置

@ConfigurationPropertiespublic class DataSourcesConfiguration {    private Map<String, BasicDataSource> dataSources;    public void setDataSources(Map<String, BasicDataSource> dataSources) {        this.dataSources = dataSources;    }    Map<String, BasicDataSource > getDataSources() {        return dataSources;    }}

DataSourceConnectionConfiguration

@Configuration@EnableConfigurationProperties(DataSourcesConfiguration.class)public class DatabaseConnectionConfiguration implements Provider<Connection> {    private DataSourcesConfiguration dataSourcesConfiguration;    public DatabaseConnectionConfiguration(DataSourcesConfiguration dataSourcesConfiguration) {        this.dataSourcesConfiguration = dataSourcesConfiguration;    }    @Bean    public DataSource dataSource() {        // Use dataSourcesConfiguration to create application data source. E.g., a AbstractRoutingDataSource..    }}


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

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

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