작성
·
301
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
1
안녕하세요. gksdudrb922님
생각하신 내용이 맞습니다^^!
객체가 먼저 생성되고, 이후에 @Autowired가 주입되기 때문에 순서상 문제가 발생합니다.
감사합니다.