Spring多数据源的简单概述
application.properties
1 2 3 4 5 6 7 8 9 10 11
|
management.endpoints.web.exposure.include=* spring.output.ansi.enabled=always
foo.datasource.url=jdbc:h2:mem:foo foo.datasource.username=sa foo.datasource.password=
bar.datasource.url=jdbc:h2:mem:bar bar.datasource.username=sa bar.datasource.password=
|
Application.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
4j @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, DataSourceTransactionManagerAutoConfiguration.class, JdbcTemplateAutoConfiguration.class}) public class {
public static void main(String[] args) { SpringApplication.run(Application.class, args); }
@Bean @ConfigurationProperties("foo.datasource") public DataSourceProperties fooDataSourceProperties() { return new DataSourceProperties(); }
@Bean public DataSource fooDataSource() { DataSourceProperties dataSourceProperties = fooDataSourceProperties(); log.info("foo dataSource: [{}]", dataSourceProperties.getUrl()); return dataSourceProperties.initializeDataSourceBuilder().build(); }
@Bean @Resource public PlatformTransactionManager fooTxManager(DataSource fooDataSource) { return new DataSourceTransactionManager(fooDataSource()); }
@Bean @ConfigurationProperties("bar.datasource") public DataSourceProperties barDataSourceProperties() { return new DataSourceProperties(); }
@Bean public DataSource barDataSource() { DataSourceProperties dataSourceProperties = barDataSourceProperties(); log.info("bar dataSource: [{}]", dataSourceProperties.getUrl()); return dataSourceProperties.initializeDataSourceBuilder().build(); }
@Bean @Resource public PlatformTransactionManager barTxManager(DataSource barDataSource) { return new DataSourceTransactionManager(fooDataSource()); }
}
|
忽略springboot自动配置的数据源部分,自己配置
近期评论