[Spring] Collection 타입을 생성자 방식으로 주입하기

2022. 1. 5. 22:15개발공부/Spring

728x90

클래스 인스턴스가 초기화 될 때, A 인터페이스를 구현하는 Bean들을 List<E implements A>로 받고 싶다면 아래와 같은 코드를 사용하시면 됩니다.


public class CollectionInject {
    //생성자 주입 방식에서 생성자를 의존주입 생성자 하나만 사용한다면 @Autowired가 생략가능 합니다. 그렇지 않고 다른 새성자도 사용할거라면 @Autowired로 명시해줘야 Spring이 어떤 생성자가 의존주입 생성자를 인지합니다.
    @Autowired
    //Spring은 InterfaceA를 구현한 Bean들을 모두 listOfImplementationA 리스트에 add 해줍니다.
    public CollectionInject(List<InterfaceA> listOfImplementationA) {
        for (InterfaceA interfaceA : listOfImplementationA) {
            System.out.println(interfaceA.getName());
        }
    }
}

참고자료

'개발공부 > Spring' 카테고리의 다른 글

[Spring] DI(Dependency Injection) 스프링 의존성 주입  (0) 2022.05.16
[JWT] JWT(Json Web Token)  (0) 2021.10.30
[@RequsetBody] @RequestBody와 생성자  (0) 2021.09.11
(2) Serialization  (0) 2021.06.02
(1) Exception Handling  (0) 2021.03.22