인프런 커뮤니티 질문&답변

gksdudrb922님의 프로필 이미지

작성한 질문수

실전! Querydsl

시작 - JPQL vs Querydsl

JPAQueryFactory를 필드로 제공하는 경우

21.06.02 16:43 작성

·

283

2

new JPAQueryFactory(em)을 굳이 @BeforeEach에 포함시켜야 할까 생각이 들어 코드를 다음과 같이 수정해봤는데요.

@Autowired
EntityManager em;

JPAQueryFactory queryFactory = new JPAQueryFactory(em);

@BeforeEach
public void before() {
// queryFactory = new JPAQueryFactory(em);

그리고 테스트를 실행하면 queryFactory.select(m) 부분에서 NullPointException이 발생합니다.

제 생각에는 EntityManager가 스프링 빈으로 등록되기 전에 new를 통해 JPAQueryFactory를 생성하려 하니 문제가 생겼다고 생각했는데 맞을까요?

아니라면 어떤 이유로 exception이 생기는지 여쭙고 싶습니다:)

답변 2

1

gksdudrb922님의 프로필 이미지
gksdudrb922
질문자

2021. 06. 06. 11:39

감사합니다~~!!

1

김영한님의 프로필 이미지
김영한
지식공유자

2021. 06. 04. 19:18

안녕하세요. gksdudrb922님

생각하신 내용이 맞습니다^^!

객체가 먼저 생성되고, 이후에 @Autowired가 주입되기 때문에 순서상 문제가 발생합니다.

감사합니다.