2 回答
TA贡献1875条经验 获得超3个赞
也许这段代码可以帮助
for (String name : applicationContext.getBeanFactory().getBeanDefinitionNames()) {
BeanDefinition beanDefinition = applicationContext.getBeanFactory().getBeanDefinition(name);
String className = beanDefinition.getBeanClassName();
Class<?> clazz = Class.forName(className);
}
循环让你得到所有的BeanDefinitions 然后你为每个加载类并做你想做的事?
顺便说一句,这可能不是使用 Spring 的好方法,但它会起作用。
TA贡献1810条经验 获得超4个赞
您可以创建最后一个 bean,例如将它放在@Configuration具有最小初始化顺序的类中,这样它就是最后一个带有 的 bean @Order(Ordered.LOWEST_PRECEDENCE),就是这样:
@Configuration
@Order(Ordered.LOWEST_PRECEDENCE)
public class Last {
@Autowired
ApplicationContext applicationContext;
@Bean
public String lastBean() {
applicationContext.getBeanDefinitionNames(); //retrive all created BeanDefinitions in the constructor of a Bean
applicationContext.getBeansOfType(Object.class); //retrive the types (as Class)
return "lastBean";
}
}
添加回答
举报