Spring MethodInvokingFactoryBean注入Method值
来源:互联网 发布:淘宝评价怎么删除 编辑:程序博客网 时间:2024/04/30 08:04
原文地址:http://blog.csdn.net/daryl715/article/details/1543630
package Bean.superIOCmethod;public class Person { private Son son; private String age;public String getAge() { return age;}public void setAge(String age) { this.age = age;}public Son getSon() { return son;}public void setSon(Son son) { this.son = son;}}package Bean.superIOCmethod;public class Son { private String age;public String getAge() { return age;}public void setAge(String age) { this.age = age;}} package Bean.superIOCmethod;public class Field { public static final String TEST_FIELD="welcom"; public String getValue(){ return "test"; } public static String getStaticValue(){ return "static test"; }}
配置文件:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"><beans> <!-- 非静态方法,使用targetObject --> <bean id="son" class="Bean.superIOCmethod.Son"> <property name="age"> <bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> <property name="targetObject"> <ref local="value"/> </property> <property name="targetMethod"> <value>getValue</value> </property> </bean> </property> </bean> <!-- 静态方法,无需使用targetObject,但要配置targetClass --> <bean id="staticson" class="Bean.superIOCmethod.Son"> <property name="age"> <bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> <property name="targetClass"> <value>Bean.superIOCmethod.Field</value> </property> <property name="targetMethod"> <value>getStaticValue</value> </property> </bean> </property> </bean> <!-- 将方法返回值定义成Bean --> <bean id="sysProps" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> <property name="targetClass"> <value>java.lang.System</value> </property> <property name="targetMethod"> <value>getProperties</value> </property> </bean> <bean id="javaversion" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> <property name="targetObject"> <ref local="sysProps"/> </property> <property name="targetMethod"> <value>getProperty</value> </property> <property name="arguments"> <list> <value>java.version</value> </list> </property> </bean> <bean id="value" class="Bean.superIOCmethod.Field"> </bean></beans>
测试代码
public static void main(String[] args) throws Exception { String path=new Test().getClass().getResource("/").getPath(); String realpath=path.substring(1, path.length()); ApplicationContext context=new FileSystemXmlApplicationContext(realpath+"/superIOCmethod.xml"); Son son1=(Son)context.getBean("son"); Son son2=(Son)context.getBean("staticson"); System.out.println("person age is:"+son1.getAge()); System.out.println("person age is:"+son2.getAge()); System.out.println(context.getBean("sysProps")); System.out.println(context.getBean("javaversion")); }
结果:
person age is:test
person age is:static test
{java.runtime.name=Java(TM) 2 Runtime Environment, Standard Edition, sun.boot.library.path=D:/Program Files/MyEclipse Enterprise Workbench 5.1.0 GA/jre/bin, java.vm.version=1.5.0_08-b03, java.vm.vendor=Sun Microsystems Inc., java.vendor.url=http://java.sun.com/, path.separator=;, java.vm.name=Java HotSpot(TM) Client VM, file.encoding.pkg=sun.io, user.country=CN, sun.os.patch.level=Service Pack 2, java.vm.specification.name=Java Virtual Machine Specification, user.dir=E:/my/TestSpring, java.runtime.version=1.5.0_08-b03, java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment, java.endorsed.dirs=D:/Program Files/MyEclipse Enterprise Workbench 5.1.0 GA/jre/
.
.
.
.
com.genuitec.eclipse.j2eedt.core_5.1.0/data/libraryset/1.4/xml-apis.jar, java.vendor=Sun Microsystems Inc., file.separator=/, java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport.cgi, sun.io.unicode.encoding=UnicodeLittle, sun.cpu.endian=little, sun.desktop=windows, sun.cpu.isalist=pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86}
1.5.0_08
- Spring MethodInvokingFactoryBean注入Method值
- Spring高级注入之Method值注入
- Spring高级注入之Method值注入
- spring --MethodInvokingFactoryBean 配置文件解析
- Spring中的MethodInvokingFactoryBean使用
- spring开发 MethodInvokingFactoryBean的学习
- spring学习----MethodInvokingFactoryBean(二)
- Spring 开发之MethodInvokingFactoryBean学习
- spring开发 MethodInvokingFactoryBean的学习
- spring开发 MethodInvokingFactoryBean的学习
- spring 的Filed注入和method注入
- Spring的方法注入lookup-method
- 码农小汪-spring框架学习之3-spring Method injection(方法注入 ) Lookup method injection
- Spring实战之org.springframework.beans.factory.config.MethodInvokingFactoryBean
- Spring实战之org.springframework.beans.factory.config.MethodInvokingFactoryBean
- Spring的方法注入lookup-method(转)
- spring注入:设值注入
- Spring注入:设值注入、构造注入
- css3动画属性详解之transform、transition、animation
- 盒子嵌套内盒margin-top失效解决方案
- 研究生如何发表论文必读
- 自定义控件三部曲之动画篇(一)——alpha、scale、translate、rotate、set的xml属性及用法
- centOS7 下Nginx的简单安装配置
- Spring MethodInvokingFactoryBean注入Method值
- SourceTree最新使用方法以及github多人开发方法
- 记忆网络之Dynamic Memory Networks模型介绍及代码实现
- 关于主从集群
- 人工智能进入新的发展阶段
- eclipse批量导入项目技巧:就是选择项目上一级目录,而不是具体项目。即可
- MySQL基础知识
- http和socket之长连接和短连接区别
- HDU 5968 异或密码