Spring improvements

Implicit spring bean binding by type is now removed. Beans are now only binded by type AND name. The type still can be the parent type, the immediate interfaces types and the bean own type, just that you now need the bean name to qualify your injection.

     <bean id="myBean" class="MyBeanType"/>

with
 
     MyBeanType extends MyBeanParentType implements MyBeanInterfaceType

is injectable via

    @Inject @Named("myBean") MyBeanInterfaceType myBean;

or 

    @Inject @Named("myBean") MyBeanParentType myBean;

or 

    @Inject @Named("myBean") MyBeanType myBean;

Plugin is now able to handle bean factories too (in addition of application contexts).