DI (Dependency Injection)

IoC Pattern 중 하나로 외부에서 객체를 생성하고 전달하는 기법을 말한다.

DI in Spring Framework

  • 생성자 주입 (권장 방식)

  • 세터 주입

  • 필드 주입 (@Autowired)

@Qualifier

빈의 이름으로 의존성을 주입할 수 있다. 동일한 타입을 가진 Bean 객체가 여러개가 있는 경우에 스프링 컨테이너에서 어떤 빈을 주입해야할지 몰라 오류가 발생하기 때문에 해당 어노테이션으로 해결할 수 있다.

과거에 다중 데이터소스를 사용하는 시점에 분리하기 위해 사용했던 경험이 있음.

@Value

외부 속성을 주입하기 위해서 주로 사용하며, properties 에서 설정한 값을 주입하는 경우가 많음.

이것도 DataSource 설정할 때 host, id, password 등 정보를 가져올 때 사용하는 코드에서 많이 봄.

Last updated