Spring xml 構成で Bean として指定することにより、Guava TypeTokenオブジェクトを注入できるようにしたいと考えています。これを行う良い方法はありますか?これを簡単にするために誰かが cade/library を書きましたか?
TypeToken は、リフレクションを使用してジェネリック型をイントロスペクトすることで機能するようであり、次のような匿名クラスを使用して構築されます。
new TypeToken<List<String>>() {}
おそらく、Spring の xml 構成構文はジェネリックをまったく受け入れないようです (ジェネリックはコンパイル時のチェックであり、実行時に技術的に消去されるため)。
したがって、TypeToken Bean をインスタンス化する唯一の方法は、Java で行うことです。
TokenConfig.java:
@Configuration
public class TokenConfig {
@Bean
public TypeToken<List<String>> listOfStringsToken() {
return new TypeToken<List<String>>() {};
}
}
システム テスト config.xml:
<beans>
<context:annotation-config/>
<bean class="com.acme.TokenConfig"/>
<bean class="com.acme.Consumer">
<property name="typeToken" ref="listOfStringsToken"/>
</bean>
</beans>
xml構成だけでこれを行う方法はありますか?