首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Spring中施用程序设定Bean以及关联bean

2012-11-06 
Spring中使用程序设定Bean以及关联bean除了xml文件和属性文件以外,我们还可以在程序中直接来配置bean以及b

Spring中使用程序设定Bean以及关联bean
除了xml文件和属性文件以外,我们还可以在程序中直接来配置bean以及bean之间的联系,通过org.springframework.beans.MutablePropertyValues设置属性,然后将属性与Bean的类设置给org.springframework.beans.beans.factory.support.RootBeanDefinition,最后通过org.springframework.beans.factory.support.BeanDefinitionRegistry来注册Bean,下面我们还是以人物Role为实例:

public class TestBeanByProgrammer {public static void main(String[] args) {//通过MutablePropertyValues来设置属性MutablePropertyValues properties=new MutablePropertyValues();//设置name属性值为Maryproperties.addPropertyValue("name","Mary");//设置health属性值为100properties.addPropertyValue("health", 100);//将properties赋予给Role类RootBeanDefinition definition=new RootBeanDefinition(Role.class,properties);BeanDefinitionRegistry reg=new DefaultListableBeanFactory();//注册bean,设置bean的别名为role,相当与xml配置文件的idreg.registerBeanDefinition("role", definition);BeanFactory factory=(BeanFactory)reg;Role role=(Role)factory.getBean("role");System.out.println("人物名称是:" + role.getName() + ",人物的生命值是:"+ role.getHealth());if (role.getGoods() != null) {System.out.println(role.getName() + "现有物品" + role.getGoods().size()+ "件" + ",分别为:");for (Goods obj : role.getGoods()) {System.out.println(obj.getName());}} elseSystem.out.println("暂时没有任何物品!");}}

热点排行