본문 바로가기
IT/Java

DatasSource Exclude 설정 관련(DataSourceAutoConfiguration)

by 성준하이 2024. 8. 10.
반응형

SpringBoot프로젝트 run을 하기 위해서는 main 메서드가 존재하는데 해당 메서드에서는 

@SpringBootApplication 이라는 어노테이션이 달려있다.

 

여기 어노테이션에 이렇게 설정을 해주면 해당 프로젝트에서 데이터베이스를 사용 안한다는 의미이니 참고 바란다.

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
public class Application {
     public static void main(String args[]) {
          SpringApplication.run(Application.class, args);
     }
}

 

정확히 말하면 데이터 소스를 구성하지 않을때 사용하는 설정이다.

 

참고로 위와같이 설정을 하면 JPA 등을 사용시 Repository 에서 데이터베이스 설정을 확인해야하는데 데이터소스를 찾을수 없어 빈 오류가 날수 있다.

해결 방법은 아래와 같다.

  • 데이터 소스를 직접 정의: DataSourceAutoConfiguration을 제외했기 때문에 데이터 소스를 수동으로 정의해야 한다. 
    예를 들어, application.properties 또는 application.yml 파일에 데이터 소스 관련 설정을 추가하거나, 직접 DataSource 빈을 설정하는 클래스를 정의해야 한다.
  • Spring Data JPA 설정 확인: 만약 JPA를 사용하고 있다면, JPA 설정을 올바르게 구성했는지 확인해야 한다.
    exclude = {DataSourceAutoConfiguration.class}를 사용하여 자동 구성을 제외하면, JPA가 올바르게 작동하지 않을 수 있다.
  • @Primary를 이용한 다중 데이터 소스 설정: 다중 데이터 소스를 사용하는 경우, @Primary 어노테이션을 이용하여 기본 데이터 소스를 지정할 수도 있다.
반응형

'IT > Java' 카테고리의 다른 글

JPA 에서 containing(Contains, IsContaining)  (20) 2024.08.12
RequestParam 에서 @Valid 사용  (14) 2024.08.11
Hash 충돌의 해결  (21) 2024.08.06
try-with-resources (AutoCloseable)  (20) 2024.08.05
[ArrayList] 조건 삭제를 위한 removeIf  (15) 2024.08.02

댓글