Java 언어에서는 TreeMaps using our own Comparator 클래스를 만들 수 있습니다. 이제, 그지도 중 하나를 만들고 그것을 나의 콩 중 하나에 할당하려고합니다. 나는 또한지도 값을 미리 알고 있고 나는 떠나는 데 관심이있다. 봄 그들을 주사한다. 질문은지도 유형을 생성자 param (나는 Comparator
클래스를 전달해야 함)을 사용하여 빌드하고 Spring을 사용하여 값을 주입 할 수 있습니까?Spring은 사용자 정의 Comparator를 사용하여 TreeMap을 만들고 채 웁니다.
선언의이 종류는 작동하지만, 값이 나중에 주입 할 수 없습니다 :
<bean id="antennaFilteringManagerMap" class="java.util.TreeMap">
<constructor-arg ref="nameComparator" />
</bean>
<bean id="nameComparator" class="com.tadic.model.detector.Antenna.NameComparator" />
을 다른 한편으로는, 내가, there are some ways지도의 클래스를 지정하는 봄의지도 유틸리티를 사용하는 경우,하지만 생성자의 인자가 전달 될 수 없습니다 :
<bean class="org.springframework.beans.factory.config.MapFactoryBean">
<property name="targetMapClass">
<value>java.util.TreeMap</value>
</property>
<property name="sourceMap">
<map>
<entry key-ref="antenna1" value-ref="locationEventFilteringManager1" />
</map>
</property>
</bean>
또는
<util:map map-class="java.util.TreeMap">
<entry key-ref="antenna1" value-ref="locationEventFilteringManager1" />
</util:map>
"이 종류의 선언은 효과가 있지만 나중에 값을 입력 할 수 없습니까?" 어떻게 주사하려고합니까? –
그걸로 나는 '' 태그를 빈에 배치 할 수 없다는 것을 의미합니다. 두 가지 모두'TreeMap'을'constructor-arg'로 구성하고'' 태그를 사용하여 참조 된 bean을 삽입하기를 원합니다. –
빈 참조를 가져 와서 자바 코드를 추가 할 수 있습니다. 그렇지 않으면 xml 파일에서 수행하려는 경우 마지막 예제에서 주어진 것처럼 util 네임 스페이스 만 사용하십시오. –