Java/spring
List, Map Spring Bean 생성
LichKing
2017. 2. 24. 18:32
스프링을 이용하여 개발하다보면 List나 Map같은 컬렉션 프레임워크로 이루어진 빈이 필요할때가 있다.
보통은 컬렉션 프레임워크를 필드로 갖고있는 클래스를 생성하고 그 클래스를 빈으로 만들어서 해결하는 경우가 많은데(실제로도 그게 더 바람직한 방법일때가 많은것 같다.) 그런 래퍼클래스(Wrapper Class)가 아닌 컬렉션 클래스 그 자체로 빈을 생성해야하는 경우도 존재한다.
<!-- Map Bean 생성 -->
<util:map id="gettableMap" key-type="java.lang.Boolean" value-type="gettable">
<entry key="false" value-ref="bean1"/>
<entry key="true" value-ref="bean2"/>
</util:map>
<!-- List Bean 생성 -->
<util:list id="checkableList" list-class="java.util.ArrayList"
value-type="checkable">
<ref local="checkable1"/>
<ref local="checkable2"/>
<ref local="checkable3"/>
</util:list>
빈 설정파일에 이렇게 등록해주고 주입받으면 된다.
주입받을땐 이유는 모르겠지만 @Qualifier 로는 주입이 되지않았다. 일단 일하느라 바빠서ㅜㅜ 원인은 나중에 찾아보고 @Resources 애노테이션으로 주입받아 사용했다.