-
[Spring] dataSource or dataSourceClassName or jdbcUrl is required.Programming/SpringBoot 2024. 5. 11. 13:56728x90
java.lang.IllegalArgumentException: dataSource or dataSourceClassName or jdbcUrl is required.
DB연결을 하기 위해 DatabaseConfig파일을 만들고 Bean으로 만들려고 하는데 발생한 에러!
찾아본 결과
스프링 커넥션 풀의 차이에서 나타났는데
SrpingBoot 2.0이전에는 tomcat-jdbc 를 사용하다, 2.0이후에는 HikariCP를 기본옵션으로 채택하고 있다.
그렇기 때문에 설정 방식에 조금 차이가 있다.
1. application.properties 파일
url을 jdbc-url로 수정
spring.datasource.url -> spring.datasource.jdbc-url
HikariCP의 Database URL설정은 url이 아닌 jdbcUrl을 사용하기 때문이다.
2. DatabaseConfig 자바 코드
@ConfigurationPRoperties와 application.properties의 설정 값이 다르기 때문에 나온 에러
application.properties파일에는 datasource로 되어 있기에 여기에 맞게 수정한다.
@ConfigurationProperties(prefix = "spring.datasource.hikari") -> @ConfigurationProperties(prefix = "spring.datasource")
@Bean @ConfigurationProperties(prefix = "spring.datasource") public DataSource dataSource(){ return DataSourceBuilder.create().build(); }
참고
https://jojoldu.tistory.com/296
728x90'Programming > SpringBoot' 카테고리의 다른 글
[Spring] 로그인 세션 관리 (0) 2024.05.21 [Spring] 테스트 코드 (0) 2024.05.14 [Spring] bean 라이프 사이클 (0) 2024.05.09 [Network] Proxy, Reverse Proxy (0) 2024.04.03 [CS] 웹 서비스 구조 (0) 2024.03.27