기존 코드
@SpringBootApplication(exclude = SecurityAutoConfiguration.class)
public class TodoAppApplication {
public static void main(String[] args) {
SpringApplication.run(TodoAppApplication.class, args);
}
@Bean
JPAQueryFactory jpaQueryFactory(EntityManager em) {
return new JPAQueryFactory(em);
}
}
이게 기존 코드다
근데 Gradle Build 를 하면 WebMvcTest 하는 부분에서 계속 오류가 발생한다.
@WebMvcTest를 쓰면 Mvc관련 빈들'만' 전부 주입 받는데, 여기서 Application을 사용하기 때문에
JPAQueryFactory 을 빈으로 등록하면서 문제가 생긴 거 같다
그래서 Config 클래스를 만들어서 등록해줬다
수정 코드
DslConfig 클래스 작성
@Configuration
public class QueryDslConfig {
@Autowired
private EntityManager em;
@Bean
JPAQueryFactory jpaQueryFactory() {
return new JPAQueryFactory(em);
}
}
TodoAppApplication Bean 부분 삭제
@SpringBootApplication(exclude = SecurityAutoConfiguration.class)
public class TodoAppApplication {
public static void main(String[] args) {
SpringApplication.run(TodoAppApplication.class, args);
}
}
'TIL' 카테고리의 다른 글
TIL 2023-12-21 @Modifying QueryDsl에도 적용이 될까? (0) | 2023.12.21 |
---|---|
TIL 2023-12-20 스프링 해시태그 기능 구현 (0) | 2023.12.20 |
TIL 2023-12-18 QueryDSL Qclass 살펴보기... 삽질 (0) | 2023.12.18 |
TIL 2023-12-15 QueryDSL 기본 사용법 (0) | 2023.12.15 |
TIL 2023-12-14 정적쿼리 동적쿼리 그리고 QueryDSL 약간 (0) | 2023.12.14 |