我把x number of beans放在一些base-package say com.mypackage.basepackage下面。
我要做的就是auto-scan这个包,并用BeanDefinitionRegistryPostProcessor将所有的bean注册到ApplicationContext。
这就是我想要做的。
public class BeanRegistrar implements BeanDefinitionRegistryPostProcessor
{
@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException
{
}
@Override
public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) throws BeansException
{
//loop n-number of times and register all the scanned beans.
BeanDefinition beanDefinition = new RootBeanDefinition(scannedbeans.class, Autowire.BY_TYPE.value(), true);
registry.registerBeanDefinition("beanName", beanDefinition);
}
}
我想要的是在com.mypackage.basepackage上循环,查找beans并注册它们。
我知道我可以用以下命令扫描basepackage
<context:component-scan base-package="com.mypackage.basepackage" />发布于 2015-07-08 18:51:29
使用ClassPathBeanDefinitionScanner
http://docs.spring.io/spring/docs/3.0.x/javadoc-api/org/springframework/context/annotation/ClassPathBeanDefinitionScanner.html
https://stackoverflow.com/questions/31290428
复制相似问题