AR1*_*AR1 8 java spring jdbc jdbctemplate spring-boot
我有一个 Spring Boot 微服务,它使用 JDBCTemplate 通过 JDBC 连接连接到多个数据库:
@Bean(name = "mysqlJdbcTemplate")
public JdbcTemplate jdbcTemplate(@Qualifier("mysqlDb") DataSource dsMySQL) {
return new JdbcTemplate(dsMySQL);
}
Run Code Online (Sandbox Code Playgroud)
我为每个数据库都有不同的模板,然后休息模板控制器根据请求中传递的参数选择要使用的正确模板。我阅读了文档,但不清楚:
Spring Boot 将尝试为您的 DataSource 加载可用的连接池:
\n\n\n\n\nSpring Boot 使用以下算法来选择特定的实现:
\n\n我们更喜欢 HikariCP 的性能和并发性。如果 HikariCP 可用,我们总是选择它。
\n\n否则,如果 Tomcat 池数据源可用,我们就使用它。
\n\n如果 HikariCP 和 Tomcat 池数据源都不可用,并且 Commons DBCP2 可用,我们将使用它。\n 如果您使用 spring-boot-starter-jdbc 或 spring-boot-starter-data-jpa \xe2\x80\x9cstarters \xe2\x80\x9d,你会自动获得对 HikariCP 的依赖。
\n\n您可以完全绕过该算法并通过设置 spring.datasource.type 属性来指定要使用的连接池。如果您在 Tomcat 容器中运行应用程序,这一点尤其重要,因为默认提供 tomcat-jdbc。
\n\n始终可以手动配置其他连接池。如果您定义自己的 DataSource bean,则不会发生自动配置。
\n
定义自己的 bean 的示例:
\n\n@Bean\npublic DataSource dataSource() throws PropertyVetoException {\n return MyDataSourceHolder.getDataSource();\n}\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
13452 次 |
| 最近记录: |