filed数值(也就是静态常量) 注入是通过fieldRetrievingFactoryBean完成的,这个类用来获取目标bean的filed数值
package Bean.superIOCfield;

public class Field ...{
public static final String TEST_FIELD="welcom";
}
实体类:
package Bean.superIOCfield;

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.superIOCfield;

public class Son ...{
private String age;

public String getAge() ...{
return age;
}

public void setAge(String age) ...{
this.age = age;
}
}
配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="son" class="Bean.superIOCfield.Son">
<property name="age">
<bean id="Bean.superIOCfield.Field.TEST_FIELD" class="org.springframework.beans.factory.config.FieldRetrievingFactoryBean"></bean>
</property>
</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+"/superIOCfield.xml");
Son son1=(Son)context.getBean("son");

System.out.println("person age is:"+son1.getAge());
}
运行结果:
person age is:welcom
本文介绍了一个使用Spring框架的示例,展示了如何通过FieldRetrievingFactoryBean实现静态常量的注入。示例中定义了Person和Son两个实体类,并在配置文件中进行了相应的bean配置。

727

被折叠的 条评论
为什么被折叠?



