여러 명의 사용자를 동시에 처리해야 하는 웹 애플리케이션의 경우 데이터베이스 연결을 이용할 때는 커넥션 풀을 이용해야 한다.그래서 스프링에 커넥션 풀을 등록해서 사용하는 것이 좋다.
DataSource 방식으로 구현하는데 구동원리는 매번 데이터 베이스와 연결하는 방식이 아닌 미리 연결을 맺어주고 반환하는 구조를 이용하여 성능 향상을 한다.
여기서는 최근 유행중인 HikariCP를 사용하겠다.
pom.xml
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>4.0.3</version>
</dependency>
커넥션 풀 구동 방법

그림을 현실에 대입하자면 커피숍의 진동벨을 생각하면된다
손님(커넥션 이용자)가 커피(데이터)를 주문하면
캐셔(커넥션 풀)가 주문을 넣고 진동벨(커넥션)을 손님(커넥션 이용자)에게 전달한다.
그래서 커피(데이터)가 완성되면 손님(커넥션 이용자)에게 전달하며 사용된 진동벨(커넥션)을 다시 반납한다.
참조:https://yjh5369.tistory.com/entry/HikariCP-%EC%86%8C%EA%B0%9C