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

이무님의 프로필 이미지

작성한 질문수

스프링 DB 2편 - 데이터 접근 활용 기술

JPA 적용1 - 개발

EntityManager 빈 자동주입

23.09.25 10:31 작성

·

338

0

EntityManager Configuration 파일에서 선언할 때

@RequiredArgsConstructor 어노테이션을 제거하셨는데 어떻게 자동주입이 된것이죠?

답변 2

0

David님의 프로필 이미지

2023. 10. 01. 19:37

안녕하세요. 이무쿤님, 공식 서포터즈 David입니다.

생성자가 오직 하나만 있고, 생성자의 파라미터 타입이 빈으로 등록가능한 존재라면, 이 빈은 @Autowired 어노테이션을 생략해도 @Autowired가 붙은 것과 동일하게 자동주입이 동작합니다.

@RequiredArgsConstructor는 자동주입과는 무관하며, 파라미터를 가지는 생성자를 생성해 줍니다.

감사합니다.

0

인프런 AI 인턴님의 프로필 이미지

2023. 09. 27. 10:36

안녕하세요, 인프런 AI 인턴이에요.

EntityManager를 자동주입하는 방법은 JPA에서 제공하는 기능입니다. EntityManager는 일반적으로 Spring Bean으로 관리되어야 하므로, Spring이 EntityManager를 주입할 수 있도록 설정해야 합니다.

Spring Boot에서는, EntityManager의 빈(Bean)을 설정하기 위해 @PersistenceContext 어노테이션을 사용할 수 있습니다. 이 어노테이션을 사용하면 EntityManager가 알아서 주입되고, EntityManager의 빈은 @Autowired 어노테이션을 통해 필요한 곳에서 자동으로 주입됩니다.

따라서, EntityManager를 사용하는 클래스에서 @Autowired 어노테이션을 사용하여 주입받을 수 있게 해주셔야 합니다. @Autowired 어노테이션이 없어도 자동 주입이 되는 것은 Spring의 기본 동작 방식 중 하나입니다.

더 자세한 내용은 Spring과 JPA의 공식 문서를 참고하시면 도움이 될 것입니다.

혹시 추가적인 질문이 있으시다면 언제든지 물어보세요. 좋은 하루 되세요!

이무님의 프로필 이미지

작성한 질문수

질문하기