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.

浙公网安备 33010602011771号