`

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" class="com.john.spring.Polishing" />
	<bean id="freight" class="com.john.spring.Freight">
		<property name="laboratory" 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());
	}
}
分享到:
评论

相关推荐

    spring运行过程中动态注册bean

    spring运行过程中动态注册bean,代码实例

    08-IoC配置-bean的生命周期控制

    为Bean的属性设置值和对其它Bean的引用 调用Bean的初始化方法 Bean可以使用了 当容器关闭时,调用Bean的销毁方法 在 Bean 的声明里设置 init-method 和 destroy-method 属性, 为 Bean 指定初始化和销毁方法。

    Spring实战之获取其他Bean的属性值操作示例

    主要介绍了Spring实战之获取其他Bean的属性值操作,结合实例形式分析了Spring操作Bean属性值的相关配置与实现技巧,需要的朋友可以参考下

    37 SpEL Bean方法属性引用原理慕课专栏1

    背景那么,如果一个 bean 想要引用另外一个 bean 的属性该如何做呢?Spring 中的 bean 可以直接引用其它 bean 的属性值来赋值给当前 be

    在Spring中使用加密外部属性文件

    在Spring的开发中,我们在很多情况下会使用占位符引用属性文件的属性值来简化我们的系统及使我们的系统具有更高的灵活性和通用性。这种配置方式有两个明显的好处: ?- 减少维护的工作量:资源的配置信息可以多应用...

    基于java的企业级应用开发:Bean的生命周期.ppt

    (2)利用依赖注入来完成Bean中所有属性值的配置注入。 (3)如果Bean实现了BeanNameAware接口,则Spring调用Bean的setBeanName()方法传入当前Bean的id值。 (4)如果Bean实现了BeanFactoryAware接口,则Spring调用...

    JSP 中Spring Bean 的作用域详解

    Bean元素有一个scope属性,用于定义Bean的作用域,该属性有如下五个值: 1&gt;singleton: 单例模式,在整个spring IOC容器中,单例模式作用域的Bean都将只生成一个实例。一般Spring容器默认Bean的作用域为singleton ...

    spring 实例的工厂方法 依赖注入属性,都使用property 元素确

    spring练习 刚刚学spring,做了个小小小项目,来加深理解。... ·其他依赖注入属性,都使用property 元素确定参数值。 Person.java PersonFactory.java Chinese.java American.java bean.xml SpringTest.java

    Spring-Reference_zh_CN(Spring中文参考手册)

    6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ Load-time weaving(LTW) 6.9. 其它资源 7. Spring AOP APIs 7.1. 简介 7.2. Spring中的切入点API ...

    Spring中文帮助文档

    6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7. Spring AOP APIs 7.1. 简介 7.2. Spring中的切入点API ...

    高级开发spring面试题和答案.pdf

    spring 三种注入(就是从spring容器中将bean放入对象属性值中) Spring下描述依赖关系@Resource, @Autowired和@Inject的区别与联系 Spring中BeanFactory和ApplicationContext的区别 谈谈Spring IOC的理解,原理与...

    Spring.3.x企业应用开发实战(完整版).part2

    5.4 引用Bean的属性值 5.5 国际化信息 5.5.1 基础知识 5.5.2 MessageSource 5.5.3 容器级的国际化信息资源 5.6 容器事件 5.6.1 Spring事件类结构 5.6.2 解构Spring事件体系的具体实现 5.6.3 一个实例 5.7 小结 第6章...

    整合struts2和spring源代码(可以直接在tomcat中运行)

    2. 配置struts.objectFactory属性值: 在struts.xml文件中添加 &lt;constant name="struts.objectFactory" value="spring" /&gt; 注意:如果有了struts2-spring-plugin-2.3.8.jar文件可以不用配置(本源代码中是没有...

    spring自动装配例子

    (2)byName:根据属性 名 自动装配,设值注入 &lt;bean id="xxx" class="xxx" &gt;&lt;/bean&gt; (3)byType:根据属性 类型 自动装配,相同类型多个会抛出异常,设值注入 &lt;bean class="xxx" &gt;&lt;/bean&gt; (4)constructor:与 ...

    spring(一)–概念和历史/hellospring/IOC创建对象的方式/Spring配置/set注入/c命名和p命名空间注入/bean的作用域

    文章目录一、概念和历史二、hellospring三、IOC创建对象的方式四、Spring配置五、set注入–属性注入六、c命名和p命名空间注入七 、bean的作用域 一、概念和历史 Spring的形成,最初来自Rod Jahnson所著的一本很有...

    spring杂谈 作者zhang KaiTao

    1.12 如何为spring代理类设置属性值 1.13 我对SpringDAO层支持的总结 1.14 我对SpringDAO层支持的总结 1.15 我对SpringDAO层支持的总结 1.16 我对Spring 容器管理事务支持的总结 1.17 我对Spring 容器管理事务支持的...

    Spring 2.0 开发参考手册

    6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ Load-time weaving(LTW) 6.9. 其它资源 7. Spring AOP APIs 7.1. 简介 7.2. Spring中的切入...

    Spring3.x企业应用开发实战(完整版) part1

    5.4 引用Bean的属性值 5.5 国际化信息 5.5.1 基础知识 5.5.2 MessageSource 5.5.3 容器级的国际化信息资源 5.6 容器事件 5.6.1 Spring事件类结构 5.6.2 解构Spring事件体系的具体实现 5.6.3 一个实例 5.7 小结 第6章...

    Spring API

    6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7. Spring AOP APIs 7.1. 简介 7.2. Spring中的切入点API ...

    Spring 3 Reference中文

    4.4.2.2 引用其它bean (协作者).. 47 4.4.2.3 内部bean 48 4.4.2.4 集合.. 48 4.4.2.5 null 和空字符串 51 4.4.2.6 使用p-命名空间的XML 快捷方式 52 4.4.2.7 使用c-命名空间的XML 快捷...

Global site tag (gtag.js) - Google Analytics