Spring에서 의존성을 주입하는 방법에는
생성자 주입
,@Autowired
,필드주입
3가지 방식이 있다. 각각의 특징과 장점에 대해서 알아보자!!
: 객체 생성 시 생성자를 통해 필요한 의존 객체를 주입
@Controller
public class Controller{
private final Service service;
@Autowired
public Controller(Service service){
this.service = service;
}
}
💡 생성자 주입 방식의 장점
- 명시적인 의존성 관리: 코드에서 의존성이 어떻게 주입되는지 명확하게 볼 수 있다.
- 불변성: 생성자 주입을 통해 객체의 불변성을 유지할 수 있다.
: @Autowired
어노테이션을 사용하여 Spring 컨테이너가 자동으로 의존성을 주입
@Controller
public class Controller {
private Service Service;
@Autowired
public void setService(Service service) {
this.service= service;
}
}
: 의존성을 클래스의 필드로 직접 주입
@Controller
public class Controller {
@Autowired
private Service service;
}