Spring getBean with type validation Spring getBean with type validation spring spring

Spring getBean with type validation


Not really but there is a runtime workaround that at least removes the need for an @SuppressWarnings. You can make your class abstract and let Spring instrument your code:

public abstract class Test {  Set<String> getMyBean();}

and then inject a lookup method in your XML config:

<bean class="Test">  <lookup-method name="myBean" bean="myBean" /></bean>

It's not really statically checked but it fails-fast at runtime and you keep the ugly casting out of your code.


maybe this can be usefull to you:

Set<String> setBean= null;Map<String, Set> beans = applicationContext.getBeansOfType(Set.class);for (Map.Entry<String, Set> bean: beans.entrySet()) {    ParameterizedType thisType = (ParameterizedType) bean.getClass().getGenericSuperclass();    Class<?> parametrizedClass= thisType.getActualTypeArguments()[0];    if (parametrizedClass.isAssignableFrom(String)) {        setBean= (Set<String>) bean;    }}

http://javahelp.redsaltillo.net