Dependency Injection
스프링 프레임워크에서 의존성 주입(Dependency Injection) 이란 무엇이며, 이를 사용하는 이유는 무엇인가요?
그렇다면 스프링에서 의존성 주입을 하는 방식에는 어떤 것들이 있고, 각각의 방식은 어떤 차이가 있을까요?
그렇다면, 스프링에서 생성자 주입을 가장 권장하는 이유는 무엇이고, 실무에서 setter나 필드 주입을 쓸 수밖에 없는 상황이 있다면 어떤 경우일까요?
스프링에서 순환 참조(Circular Dependency)가 발생하면 어떤 일이 일어나고, 생성자 주입과 다른 주입 방식(setter, 필드)에서 각각 순환 참조가 발생했을 때의 차이점은 무엇인가요?
스프링 5 이후에는 순환 참조에 대한 정책이 조금 강화되었는데, 스프링 부트 2.6부터는 순환 참조가 기본적으로 금지되어 있어.
이 설정을 다시 허용하려면 어떻게 해야 하고, 이렇게 순환 참조를 일부러 허용하는 것은 언제 필요한 걸까?
의존성 주입과 관련해서, 스프링에서 @Autowired 외에도 사용할 수 있는 의존성 주입 어노테이션은 무엇이 있고, 그 차이는 무엇인가요?
@Autowired 외에도 사용할 수 있는 의존성 주입 어노테이션은 무엇이 있고, 그 차이는 무엇인가요?@Autowired를 사용할 때, 주입 대상이 2개 이상이라서 스프링이 어떤 빈을 주입할지 모를 경우, 어떻게 해결할 수 있나요?
여러 해결 방법이 있는데, 가능한 한 다양하게 설명해줘!
@Autowired를 사용할 때, 주입 대상이 2개 이상이라서 스프링이 어떤 빈을 주입할지 모를 경우, 어떻게 해결할 수 있나요?
여러 해결 방법이 있는데, 가능한 한 다양하게 설명해줘!Last updated