inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Toby's Spring Boot - Hiểu biết và Nguyên tắc

Lớp cấu hình tự động DataSource

HikariDataSource가 존재하지 않는 이슈가 있습니다.

2145

GOLF

6 câu hỏi đã được viết

1

 토비님이랑 같은 의존성 주입 받았는데 전 HikariDataSource라는 class가 존재하지 않습니다.

 

제가 잘못한게 있을까요

spring-boot spring spring-jdbc

Câu trả lời 5

1

Seunghoon Choi

저도 바로 안되어서 확인해봤는데

강사님이 사용하신 의존성은 mavenCentral() 저장소가 아니라 Clojars 저장소에 존재하네요.

https://mvnrepository.com/artifact/hikari-cp/hikari-cp/3.0.1

IntelliJ 종속성 추가시 저장소가 자동 추가되어 확인하지 못한 것 같습니다!

아래 저장소를 추가하여 사용하거나

repositories {
    mavenCentral()
    maven { url "https://clojars.org/repo/" }
}

기존 메이븐 저장소에 존재하는 com.zaxxer:HikariCP 라이브러리를 사용하시면 될 것 같습니다.

1

hoon

hikari-cp:hikari-cp는 라이브러리 설명보면 https://github.com/tomekw/hikari-cp 요 라이브러리인듯합니다.

1

tobyilee

저는 강의에 사용했던 Hikari 버전이 여전이 잘 다운로드가 되긴합니다만, 일단 위에 알려주신 다음 버전으로 바꿔서도 해봤습니다.

implementation('com.zaxxer:HikariCP:4.0.3')

그런데 저는 이렇게 해도 Hikari 로그가 잘 나오네요. 테스트 실행하면서 로그 레벨이 DEBUG으로 설정이 되어서 동작을 하는데요.

사용하시는 IDE 종류에 따라서 테스트 실행시 로그 레벨이 다르게 설정이 되면 안 나올 수도 있습니다. 좀 더 구체적인 정보와 실행방법(테스트인지, 애플리케이션 실행인지), 그리고 실제 나온 로그를 보여주시면 좀 더 구체적인 답변을 드릴 수 있습니다.

0

GOLF

감사합니다. 애플리케이션 실행 시 잘 안나오는 거였는데 로그 레벨 조정하여 설정해보겠습니다

1

GOLF


안나오는 분들 이렇게 해결하면 됩니다.

0

GOLF

다만 이렇게 하면 토비님 처럼 Hikari 사용하는지 로그상으론 안보여요

0

tobyilee

저는 IntelliJ의 의존라이브러리 검색 기능을 이용해서 제일 먼저 나오는 것을 추가했는데요. 온라인 라이브러리 저장소에서 간혹 일부 버전 라이브러리를 잘 가져오지 못하는 경우가 있습니다. 지금 답변으로 올려주신 것이 스프링 JDBC 부트 스타터에 포함된 버전으로 보이는데요. 이걸 사용하셔서 잘 등록이 되셨다니 다행입니다.

0

tobyilee

Hikari 로그가 안 보인다는 말씀이죠? 이게 버전이 다르면 로깅 레벨이 다를 수가 있습니다. 제가 시간이 될 때 위 설정으로 해서 로그가 나오게 하려면 어떤 옵션을 추가해야할지 한번 찾아보겠습니다.

0

dbbizj

@ConditionalMyOnClass 레벨에서 class 존재 유뮤 확인할 때 Class명에 HikariDataSource 까지 입력 되어있는지 확인해보세요

 

hikari logger가 작동 안해서 동일한 문제인줄 알았는데 Conditional 확인할 때 HikariDataSource의 명칭이 잘못되어 hikari를 Bean 객체로 등록하지 않았던 것 이었습니다.

 

 

@Bean
@ConditionalMyOnClass("com.zaxxer.hikari.HikariDataSource")
DataSource hikariDataSource( MyDataSourceProperties properties) throws ClassNotFoundException {
    HikariDataSource dataSource = new HikariDataSource();

    System.out.println("히카리 설정");

    dataSource.setDriverClassName(properties.getDriverClassName());
    dataSource.setJdbcUrl(properties.getUrl());
    dataSource.setUsername(properties.getUserName());
    dataSource.setPassword(properties.getPassword());

    return dataSource;
}
dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
//    implementation 'org.springframework.boot:spring-boot-starter-jetty'
    implementation 'org.springframework:spring-jdbc'
    runtimeOnly('com.h2database:h2:2.1.214')
    implementation 'com.zaxxer:HikariCP'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}

0

lee241163848333

덕분에 해결했습니다 !!

11강에서 cmd에서 spring shell에 $ init 하면 Fail 메세지

0

73

2

TestRestTemplate 을 통해 테스트 실행시 웹 요청 정보가 콘솔에 표시되지 않습니다.

0

83

1

섹션7. 자동구성 정보파일분리 강의 질문(@MyAutoConfiguration 붙힌 이유)

0

200

2

WebApplicationContext를 DispatcherServlet에 this로 넘기는 것

0

278

2

인프라 빈 구성 정보의 분리에서 EnableMyAutoConfiguration 질문드립니다.

0

209

2

질문드립니다.

0

232

2

spring boot 3.3.7로 학습중입니다.

0

369

2

Serverproperties 객체 생성 후 @Impor 어노테이션 사용 이유 용도

0

162

2

spring start io 에서 이제더이상 2.x버전은 지원하지 않는 것 같습니다.

1

294

2

Springboot 3.2 이상에서 파라미터 추론관련

0

913

4

binding error

0

220

3

Arrays.copyOf 메서드의 타입 세이프

1

155

2

MyOnClassCondition에 있는 matches method의 Invoke 횟수

1

231

3

인용구의 출처가 궁금합니다.

0

259

1

프로퍼티 빈의 후처리기 도입 AnnotationUtils의 사용

0

235

2

SimpleCacheConfiguration과 빈 등록

0

168

2

MyAutoConfigImportSelector 에서 생성자로 ClassLoader를 주입받을 수 있는 점

0

241

1

IntelliJ project jenerator spring initailizr

0

150

1

강의 자료 레퍼지토리에 업로드

0

215

1

강의자료

0

385

1

Hikari 라이브러리가 없으면 오류가 나는거 아닌가요

0

311

2

Tomcat 포트 프로퍼티 미설정시 랜덤 포트 설정 문의

0

467

5

@Import 로 Bean을 등록해야하는 기준이 뭔지 궁금합니다.

0

333

2

application.properties파일내 프로퍼티 이름

0

207

1