[置顶] spring中注册bean(通过代码动态注册)
分类: java Spring 2012-10-27 21:34 530人阅读 评论(0) 收藏 举报
[java] view plaincopyprint?
//将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());
User.java
[java] view plaincopyprint?
public class User {
private String username;
private String password;
public String getUsername() {
return username;
}