• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

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

21.02.20 22:16 작성 조회수 154

0

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

public class ProductService {

private final ProductRepository productRepository;

..

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

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

답변 4

·

답변을 작성해보세요.

1

victoai님의 프로필

victoai

질문자

2021.02.21

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

1

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

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

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

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

감사합니다.

1

안녕하세요. victoai님

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

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

감사합니다.

0

victoai님의 프로필

victoai

질문자

2021.02.21

감사합니다.^^

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

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

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

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

답변 감사합니다.^^