[Spring] 생성자 주입 방식

박이레·2022년 12월 15일
0

Spring

목록 보기
5/12

 습관은 무섭습니다. 야구선수 박한이는 타격을 준비하는데만 15초가 걸렸습니다. 그는 19년 동안 2127경기에 출장했는데요. 한 경기당 3타석을 나갔다고 계산한다면 타격을 준비하는데만 26시간이 걸렸습니다. 습관이 이렇게 무섭습니다.

스프링을 처음 배웠던 책에서는 @Autowired를 사용했습니다. deprecated된 방식임에도 불구하고 습관처럼 사용하곤 했습니다.

초기 스프링은 @Autowired에 멤버 변수를 할당하거나 Setter를 작성하는 방식을 많이 사용했습니다. 그러나 Spring3 이후에는 생성자 주입 방식을 권장하고 있습니다. (@Autowired는 deprecated)



생성자 주입 규칙

  1. 주입 받아야 하는 객체의 변수를 final로 작성합니다.
  2. 생성자를 이용해서 해당 변수를 생성자의 파라미터로 지정합니다.

@Autowired 방식

@Service
public class SampleService {

	@Autowired
	private SampleDAO sampleDAO;
}

생성자 주입 방식

롬복의 @RequiredArgsConstructor을 사용하여 생성자 함수를 자동으로 작성합니다. 사용하려는 멤버 변수는 private final로 선언합니다.

@RequiredArgsConstructor
@Service
public class SampleService {

	private final SampleDAO sampleDAO;
}

참고문헌

자바 웹 개발 워크북

구멍가게코딩단 지음ㅣ프리렉ㅣ2022ㅣ도서 정보

profile
혜화동 사는 Architect

0개의 댓글