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

victoai님의 프로필 이미지
victoai

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

요구사항 분석

객체주입하는 방법에 대한 질문

작성

·

249

0

@RequiredArgsConstructor            //final로 선언된 멤버 변수를 자동으로 생성합니다.

public class ProductService {

private final ProductRepository productRepository;

..

위의 코드는 부트에서 객체를 생성하고 주입하는 코드예제의 일부인데요 ~ 선생님 강의에서 다른 방식으로 주입하는 코드를 보았습니다.  

주입하는 방법이 여러가지가 있는건가요?

답변 4

1

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

친절한 설명 감사합니다.^^ 

1

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

해당 에노테이션은 스프링 빈을 주입할 때 사용하는 애노테이션은 아니고,

JPA EntityManager를 주입할 때 사용하는 애노테이션입니다^^

스프링 빈의 필드주입은 필드위에 @Autowired를 사용하시면 됩니다.

참고로 최근에는 스프링이 JPA EntityManager도 @Autowired로 주입도 지원합니다. (생성자 주입도 포함)

감사합니다.

1

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

안녕하세요. victoai님

필드주입, 생성자주입, Setter 주입 이렇게 3가지 방식이 있습니다.

관련해서 자세한 내용은 스프링 핵심 원리 - 기본편을 참고해주세요^^

감사합니다.

0

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

감사합니다.^^

네~  위의예제는 생성자를 통한 주입입니다.

선생님의 회원레포지토리 파일에서 

필드에 @persistenceContext 어노테이션을  보았는데요 

필드주입은 항상 위의 어노테이션을 붙이는 방식으로 진행하는지요? 

답변 감사합니다.^^

victoai님의 프로필 이미지
victoai

작성한 질문수

질문하기