多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 74.1 配置数据源 ### 74.1 配置数据源 自定义`DataSource`类型的`@Bean`可以覆盖默认设置,正如[Section 24.7.1, “Third-party configuration”](../IV.%20Spring%20Boot%20features/24.7.1.%20Third-party%20configuration.md)解释的那样,你可以很轻松的将它跟一系列`Environment`属性绑定: ``` @Bean @ConfigurationProperties(prefix="datasource.fancy") public DataSource dataSource() { return new FancyDataSource(); } ``` ``` datasource.fancy.jdbcUrl=jdbc:h2:mem:mydb datasource.fancy.username=sa datasource.fancy.poolSize=30 ``` Spring Boot也提供了一个工具类`DataSourceBuilder`用来创建标准的数据源。如果需要重用`DataSourceProperties`的配置,你可以从它初始化一个`DataSourceBuilder`: ``` @Bean @ConfigurationProperties(prefix="datasource.mine") public DataSource dataSource(DataSourceProperties properties) { return properties.initializeDataSourceBuilder() // additional customizations .build(); } ``` 在此场景中,你保留了通过Spring Boot暴露的标准属性,通过添加`@ConfigurationProperties`,你可以暴露在相应的命命名空间暴露其他特定实现的配置, 具体详情可参考'Spring Boot特性'章节中的[Section 29.1, “Configure a DataSource”](../IV.%20Spring%20Boot%20features/29.1.%20Configure%20a%20DataSource.md)和[DataSourceAutoConfiguration](https://github.com/spring-projects/spring-boot/tree/v1.4.1.RELEASE/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jdbc/DataSourceAutoConfiguration.java)类源码。