카테고리 없음

[초보 웹 개발자를 위한 스프링5 프로그래밍 입문] 04. 의존 자동 주입

의존성 자동 주입 방법

@Autowired

 

@Autowired는 필드와 메서드에 붙일 수 있다. 스프링이 해당 메서드를 호출하여 파라미터 타입에 해당하는 빈 객체를 인자로 주입한다.

필수가 아닌 주입대상에는 @Autowired(required = false)로 지정해주면 된다.

스프링 5부터는 Optional을 사용해도 된다.

@Autowired
pulblic void setSomething(Optional<Something> some) {
   ...
}

또한 @Nullable 애노테이션으로 필수 여부를 지정할 수 있다.

 

셋의 차이점은 다음과 같다.

// 차이점
@Autowired(required = false) -> 매칭되는 빈이 없으면 메서드 호출되지 않는다. 미리 할당된 값이 있으면 값을 바꾸지 않는다.

@Nullable -> 매칭되는 빈이 없어도 메서드 호출한다. 미리 할당된 값이 있어도 null로 바꾼다.

Optional -> 매칭되는 빈이 없으면 값이 없는 Optional 할당한다.