spring能做到动态注入吗
1个回答
展开全部
在项目中有时会有这样的需求:要求在程序运行时动态注入javaBean,显然新加的Bean不能写在Spring的配置文件中。
因为配置文件修改后需要重启服务器。还好spring为我们提供了动态注入bean的接口:
//由配置文件得到
applicationContext
ApplicationContext applicationContext =new ClassPathXmlApplicationContext("applicationContext.xml");
BeanDefinition bean = new GenericBeanDefinition();
//类的全路径
bean.setBeanClassName("com.xh.spring.bean.Dog");
DefaultListableBeanFactory fty = (DefaultListableBeanFactorwww.66298899.comicationContext.getAutowireCapableBeanFactory();
//注册Bean
fty.registerBeanDefinition("dog101", bean);
//以后便可以取出Bean了
Dog mydog = (Dog)applicationContext.getBean("dog101");
mydog.setColor("red");
mydog.setName("tom");
System.out.println(mydog.ww());
因为配置文件修改后需要重启服务器。还好spring为我们提供了动态注入bean的接口:
//由配置文件得到
applicationContext
ApplicationContext applicationContext =new ClassPathXmlApplicationContext("applicationContext.xml");
BeanDefinition bean = new GenericBeanDefinition();
//类的全路径
bean.setBeanClassName("com.xh.spring.bean.Dog");
DefaultListableBeanFactory fty = (DefaultListableBeanFactorwww.66298899.comicationContext.getAutowireCapableBeanFactory();
//注册Bean
fty.registerBeanDefinition("dog101", bean);
//以后便可以取出Bean了
Dog mydog = (Dog)applicationContext.getBean("dog101");
mydog.setColor("red");
mydog.setName("tom");
System.out.println(mydog.ww());
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |