Spring Boot 3에서 Druid 데이터베이스 풀 통합하기

Spring Boot 3 환경에서 Druid 커넥션 풀을 적용할 때 호환성 문제로 인해 접속 오류가 발생하는 경우가 있습니다. 본 문서는 이러한 문제를 해결하고 올바르게 설정하는 방법을 안내합니다.

Maven 의존성 추가

pom.xml 파일에 다음 의존성을 포함시켜야 합니다:

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-3-starter</artifactId>
    <version>1.2.20</version>
</dependency>

데이터소스 및 Druid 설정

src/main/resources 디렉토리 내에 별도의 설정 파일 application-druid.yml을 생성하여 Druid 관련 속성을 정의합니다.

기본 application.yml

spring:
  profiles:
    active: druid
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: [DB_USERNAME]
    password: [DB_PASSWORD]
    url: jdbc:mysql://localhost:3306/KsDataBase?serverTimezone=UTC
  mvc:
    servlet:
      load-on-startup: 1

application-druid.yml

spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driverClassName: com.mysql.cj.jdbc.Driver
    druid:
      master:
        url: jdbc:mysql://localhost:3306/sample_db?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Seoul
        username: [MYSQL_USER]
        password: [MYSQL_PASS]
      slave:
        enabled: false
        url: 
        username: 
        password: 
      initialSize: 5
      minIdle: 10
      maxActive: 20
      maxWait: 60000
      connectTimeout: 30000
      socketTimeout: 60000
      timeBetweenEvictionRunsMillis: 60000
      minEvictableIdleTimeMillis: 300000
      maxEvictableIdleTimeMillis: 900000
      validationQuery: SELECT 1
      testWhileIdle: true
      testOnBorrow: false
      testOnReturn: false
      webStatFilter:
        enabled: true
      statViewServlet:
        enabled: true
        allow:
        url-pattern: /monitor/druid/*
        login-username: admin
        login-password: secure_password
      filter:
        stat:
          enabled: true
          log-slow-sql: true
          slow-sql-millis: 1000
          merge-sql: true
        wall:
          config:
            multi-statement-allow: true

필수 설정 항목

다음 두 영역은 사용자의 환경에 맞게 반드시 수정해야 합니다.

  • 데이터베이스 연결 정보: URL, 사용자명, 비밀번호
  • Druid 관리 콘솔 접근 정보: 접근 경로, 로그인 계정 및 패스워드

모니터링 페이지 접속

애플리케이션 실행 후 아래 주소로 접속하면 Druid 모니터링 대시보드를 확인할 수 있습니다:

http://localhost:8080/monitor/druid/login.html

위에서 지정한 관리자 아이디와 비밀번호를 입력하여 로그인하면 됩니다.

태그: spring-boot Druid database-pooling MySQL connection-pool

6월 11일 23:49에 게시됨