1. 개요
Hikari 는 연결 풀링 메커니즘을 제공 하는 JDBC DataSource 구현입니다.
다른 구현에 비해 가볍고 더 나은 성능을 약속합니다 . Hikari에 대한 소개는 이 기사를 참조 하십시오 .
이 빠른 사용방법(예제)는 Hikari DataSource 를 사용하도록 Spring Boot 2 또는 Spring Boot 1 애플리케이션을 구성하는 방법을 보여줍니다 .
2. Spring Boot 2.x로 Hikari 구성
Spring Boot 2에서 Hikari는 기본 DataSource 구현입니다.
이것은 Spring Boot 1.x에서 변경된 사항입니다.
- Hikari에 대한 의존성은 이제 spring-boot-starter-data-jpa 및 spring-boot-starter-jdbc에 자동으로 포함됩니다.
- DataSource 구현 을 자동으로 결정하는 검색 알고리즘은 이제 TomcatJDBC보다 Hikari를 선호합니다 ( 참조 설명서 참조 ).
따라서 Spring Boot 2.x 기반 애플리케이션에서 Hikari를 사용하려면 할 일이 없습니다.
3. Hikari 구성 매개 변수 조정
다른 DataSource 구현에 비해 Hikari의 장점 중 하나는 많은 구성 매개 변수를 제공한다는 사실입니다.
접두사 spring.datasource.hikari 를 사용 하고 Hikari 매개 변수의 이름을 추가 하여 이러한 매개 변수의 값을 지정할 수 있습니다 .
spring.datasource.hikari.connectionTimeout=30000
spring.datasource.hikari.idleTimeout=600000
spring.datasource.hikari.maxLifetime=1800000
...
좋은 설명이 포함 된 모든 Hikari 매개 변수 List은 Hikari Github 사이트 와 Spring 문서 에서 사용할 수 있습니다 .
4. Spring Boot 1.x로 Hikari 구성
Spring Boot 1.x는 기본적으로 Tomcat JDBC 연결 풀 을 사용합니다 .
spring-boot-starter-data-jpa 를 pom.xml에 포함하자마자 Tomcat JDBC 구현에 대한 의존성을 전 이적으로 포함 할 것입니다. 런타임 동안 Spring Boot는 우리가 사용할 Tomcat DataSource 를 생성합니다 .
대신 Hikari 연결 풀을 사용하도록 Spring Boot를 구성하려면 두 가지 옵션이 있습니다.
4.1. Maven 의존성
먼저 pom.xml 에 Hikari에 대한 의존성을 포함해야합니다 .
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>3.2.0</version>
</dependency>
최신 버전은 Maven Central 에서 찾을 수 있습니다 .
4.2. 명시 적 구성
Spring Boot에 Hikari를 사용하도록 지시하는 가장 안전한 방법은 DataSource 구현을 명시 적으로 구성하는 것입니다.
이를 위해 spring.datasource.type 속성 을 사용하려는 DataSource 구현 의 정규화 된 이름으로 설정하기 만하면 됩니다 .
@RunWith(SpringRunner.class)
@SpringBootTest(
properties = "spring.datasource.type=com.zaxxer.hikari.HikariDataSource"
)
public class HikariIntegrationTest {
@Autowired
private DataSource dataSource;
@Test
public void hikariConnectionPoolIsConfigured() {
assertEquals("com.zaxxer.hikari.HikariDataSource", dataSource.getClass().getName());
}
}
4.3. Tomcat JDBC 의존성 제거
두 번째 옵션은 Spring Boot가 Hikari DataSource 구현 자체를 찾도록 하는 것입니다.
Spring Boot가 클래스 경로에서 Tomcat 데이터 소스 를 찾을 수 없으면 다음에 Hikari 데이터 소스 를 자동으로 찾습니다 . 검색 알고리즘은 참조 설명서에 설명되어 있습니다 .
클래스 경로에서 Tomcat 연결 풀을 제거하려면 pom.xml 에서 제외 할 수 있습니다 .
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<exclusions>
<exclusion>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jdbc</artifactId>
</exclusion>
</exclusions>
</dependency>
이제 이전 섹션의 테스트도 spring.datasource.type 속성 을 설정하지 않고도 작동 합니다.
5. 결론
이 기사에서는 Spring Boot 2.x 애플리케이션에서 Hikari DataSource 구현을 구성하고 Spring Boot의 자동 구성을 활용하는 방법을 배웠습니다. Spring Boot 1.x를 사용할 때 Hikari를 구성하는 데 필요한 변경 사항도 살펴 보았습니다.
Spring Boot 1.x 예제 코드는 여기에서 , Spring Boot 2.x 예제 코드는 여기에서 사용할 수 있습니다 .
- https://docs.spring.io/spring-framework/docs/current/reference/html
- https://www.baeldung.com/spring-boot-hikari
'Java' 카테고리의 다른 글
Spring @RequestParam 어노테이션 (0) | 2021.04.17 |
---|---|
Spring @RequestParam 대 @PathVariable 어노테이션 (0) | 2021.04.17 |
JUnit5 @RunWith (0) | 2021.04.16 |
Java에서 숫자를 N 소수 자릿수로 반올림하는 방법 (0) | 2021.04.16 |
Java의 List에서 모든 중복 제거 (0) | 2021.04.16 |