使用 Spring boot 嵌入式 tomcat 连接池,无需 jdbctemplate、hibernate 或 JPA

Posted

技术标签:

【中文标题】使用 Spring boot 嵌入式 tomcat 连接池,无需 jdbctemplate、hibernate 或 JPA【英文标题】:Use Spring boot embedded tomcat connection pool without jdbctemplate, hibernate or JPA 【发布时间】:2016-10-21 15:07:24 【问题描述】:

我正在集成 Spring boot 以替换我们已经拥有的现有 RESTful API。我想使用它附带的连接池。我是 Spring Boot 的新手。我在DataSource 对象中看到我可以获得连接,但它正在返回null

我也知道尝试在外部单独使用此连接不是最佳做法。

如何将 Spring Boot JDBC 连接与现有的 Core java 数据库访问对象一起使用?

【问题讨论】:

问题不是很清楚。你的意思是dataSource.getConnection() 返回null 还是你的数据源为null?如果您不想使用 spring jdbc、hibernate 等,那么显然您可以使用标准驱动程序数据源或任何其他池数据源,即 apache-dbcp。 【参考方案1】:

像这样在配置类中创建一个 bean:

@Configuration
public class Configuration 
    @Bean
    public DataSource dataSource() 
      ConnectionFactory connectionFactory = new DriverManagerConnectionFactory(connectURI,null);
      PoolableConnectionFactory poolableConnectionFactory = new PoolableConnectionFactory(connectionFactory);
      ObjectPool objectPool = new GenericObjectPool(poolableConnectionFactory);
      PoolingDataSource dataSource = new PoolingDataSource(objectPool);
      return dataSource;
    

【讨论】:

以上是关于使用 Spring boot 嵌入式 tomcat 连接池,无需 jdbctemplate、hibernate 或 JPA的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot 使用配置文件启用/禁用嵌入式 tomcat

嵌入式 Tomcat 中带有 JSP 标签库的 Spring-Boot

如何使用嵌入式 tomcat 会话集群设置 Spring Boot 应用程序?

使用 Spring Boot 中嵌入的 tomcat 进行远程调试或本地调试

如何使用 Spring Boot 嵌入式 tomcat 设置会话超时

使用基本身份验证配置 Spring Boot 的嵌入式 tomcat 容器