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
위에서 지정한 관리자 아이디와 비밀번호를 입력하여 로그인하면 됩니다.