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

유승현님의 프로필 이미지
유승현

작성한 질문수

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

자바 코드로 직접 스프링 빈 등록하기

Autowired 대신, AllargsConstructor 사용 관련

작성

·

649

0

Autowired 대신, AllargsConstructor  사용하면 안되나요?

잘 동작하기는 하는데

어떤게 더 좋은 방식인지 모르겠어요

답변 1

0

안녕하세요. 유승현님, 공식 서포터즈 OMG입니다.

@Autowired는 필드 주입, @AllArgsConstructor는 클래스에 존재하는 모든 필드에 대한 생성자를 자동으로 생성해주는 어노테이션으로 생성자 주입과 관련되어 동작했겠네요.

생성자 주입 할 때는 다음과 같이 작성하셔야 합니다.

@RequiredArgsConstructor
public class TestController {
private final MemberService memberService;

@RequiredArgsConstructor는 필드에 final 키워드가 붙은 대상에 한해서 생성자를 생성해 주며, 이와 같이 생성된 생성자로 주입을 받아서 작성해야합니다.

관련하여 아래의 링크를 참고하시길 바랍니다.

https://mangkyu.tistory.com/125

이 부분에 대해서는 당장 이해가 가지 않더라도, 설명 드린 best practice만 알고 넘어가신 후 스프링에 대해 지속적으로 관심있게 학습하시면 이해가 되실거에요.

감사합니다.

유승현님의 프로필 이미지
유승현

작성한 질문수

질문하기