Spring-boot读书笔记一javax.sql.DataSource

javax.sql.DataSource details:

What it is:

  • A standard Java interface (part of JDBC API since Java 1.4)
  • Factory for database connections
  • Abstraction layer between application code and database connectivity

Key Methods:

onnection getConnection() throws SQLException
Connection getConnection(String username, String password) throws SQLException

Purpose:

  • Connection Management: Provides database connections without hardcoding connection details
  • Connection Pooling: Implementations typically pool connections for performance
  • Configuration Separation: Database settings externalized from application code

Common Implementations:

  • HikariCP (default in Spring Boot) - high-performance connection pool
  • Apache DBCP - Apache Commons connection pool
  • C3P0 - older but still used connection pool
  • Tomcat JDBC Pool - Tomcat's connection pool

In Spring Boot Context:

  • Auto-configured based on application.properties database settings
  • Automatically creates a DataSource bean
  • Handles connection pooling, timeouts, and validation
  • Integrates with transaction management

Benefits:

  • Performance: Connection reuse via pooling
  • Resource Management: Automatic connection cleanup
  • Configuration: Centralized database settings
  • Testability: Easy to mock/stub for testing

The test verifies Spring Boot correctly configured HikariCP as the DataSource implementation connecting to an H2 database.

posted @ 2026-01-01 18:24  kkbln  阅读(1)  评论(0)    收藏  举报