스프링 부트는 DataSource 빈을 자동 구성할 때 이 커넥션 정보를 사용한다. 톰캣의 풀링 DataSource가 클래스패스에 있다면 DataSource 빈은 풀링될 것이다. 그렇지 않다면 클래스패스에서 다른 커넥션 풀 구현체를 찾아 사용할 것이다.
• HikariCP
• Commons DBCP
• Commons DBCP 2
비록 이 구현체가 자동 구성으로 사용할 수 있는 커넥션 풀링 옵션의 전부이지만, 언제든지 원하는 풀링 구현체를 사용하도록 DataSource 빈을 명시적으로 구성할 수 있다. 다음과 같이 spring.datasource.jndi-name 프로퍼티를 설정하여 JNDI에서 DataSource를 찾을 수도 있다.
spring: datasource: jndi-name: java:/comp/env/jdbc/readingListDS
spring.datasource.jndi-name 프로퍼티를 설정하면 다른 데이터 소스 커넥션 프로퍼티는 (설정해도) 무시할 것이다.
프로퍼티 한두 개만 설정해도 스프링 부트 자동 구성 컴포넌트를 여러 방식으로 조정할 수 있다. 하지만 이런 외부 구성 방식은 스프링 부트가 구성한 빈에만 국한되지 않는다. 이것과 똑같은 프로퍼티 구성 메커니즘으로 애플리케이션 컴포넌트를 세세하게 조정하는 방법을 알아보자.