1,获得spring容器:
import org.springframework.web.context.ContextLoader;
import org.springframework.web.context.WebApplicationContext;
WebApplicationContext wac = ContextLoader.getCurrentWebApplicationContext();
wac.getBean("");
2,动态加载bean
//将applicationContext转换为ConfigurableApplicationContext
ConfigurableApplicationContext configurableApplicationContext = (ConfigurableApplicationContext) applicationContext;
// 获取bean工厂并转换为DefaultListableBeanFactory
DefaultListableBeanFactory defaultListableBeanFactory = (DefaultListableBeanFactory) configurableApplicationContext
.getBeanFactory();
// 通过BeanDefinitionBuilder创建bean定义
BeanDefinitionBuilder beanDefinitionBuilder = BeanDefinitionBuilder
.genericBeanDefinition(UserService.class);
// 设置属性userAcctDAO,此属性引用已经定义的bean:userAcctDAO
beanDefinitionBuilder
.addPropertyReference("userAcctDAO", "UserAcctDAO");
// 注册bean
defaultListableBeanFactory.registerBeanDefinition("sdfds",
beanDefinitionBuilder.getRawBeanDefinition());