读书人

Spring配备中的bean引用其它bean的属性

发布时间: 2013-01-28 11:49:56 作者: rapoo

Spring配置中的bean引用其它bean的属性值
这项功能在spring的3.0版本以上才支持,如果使用较早的版本(如2.5),会造成转换异常(如将String转换为int)以及不能解析赋值字符串。

需要的jar包:spring的核心包以及Apache的commons-logging包。

public class Polishing {int laboratory = 1;public int getLavatory(int lavatory) {return lavatory;}// Getters and setters are omitted}


public class Freight {int laboratory;int slurry;int compensatory;// Getters and setters are omitted}


beans.xml:
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="          http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">        <bean id="polishing" /><bean id="freight" value="#{polishing.laboratory}" /><property name="slurry" value="#{polishing.getLaboratory()}" /><property name="compensatory" value="#{polishing.getLavatory(4)}" /></bean></beans>


测试类:
public class Perplex {public static void main(String[] args) {ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");Freight bean2 = (Freight) ctx.getBean("freight");System.out.println(bean2.getLaboratory());System.out.println(bean2.getSlurry());System.out.println(bean2.getCompensatory());}}

读书人网 >软件架构设计

热点推荐