Autowired Generics (Generics Type 주입하기)

2020. 9. 3. 18:54 Spring Framework/Spring boot

  스프링 4.0 부터 자바 제네릭 타입을 주입받을 수 있다. 4.0 미만 버전도 가능은 했지만 번거로운 추가 작업이 필요했다.


예를들어

Notification 인터페이스를 구현한 3개의 구현체가 있다고 예를 들자.


1
2
@Autowird
private List<Notification> notifications;
cs

  4.0 이상부터는 Notification List Type으로 주입이 가능해졌다. 매우 편리하다. 위 예제는 Notification을 예로 들었는데, 3개의 구현체를 List로 주입받아 반복문을 통해 3개의 알림을 보내면 코드를 좀 더 깔끔하게 사용이 가능하다.


1
2
3
4
@Test
public void testNotificationList() {
    notifications.forEach(notification -> notification.send("list""contents"));
}
cs

이런식으로 말이다.

자바에서 제공하는 List Collection 뿐 아니라, Map, Set Type 모두 가능하다.