Hierarchical Bean Factory Usage
/* Pro Spring By Rob Harrop Jan Machacek ISBN: 1-59059-461-4 Publisher: Apress */ /////////////////////////////////////////////////////////////////////////////////////// //File: beans.xml <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <!-- hierarchical bean factories --> <bean id="target1" class="SimpleTarget"> <property name="val"> <ref bean="injectBeanParent"/> </property> </bean> <bean id="target2" class="SimpleTarget"> <property name="val"> <ref local="injectBean"/> </property> </bean> <bean id="target3" class="SimpleTarget"> <property name="val"> <ref parent="injectBean"/> </property> </bean> <bean id="injectBean" class="java.lang.String"> <constructor-arg> <value>Bean In Child</value> </constructor-arg> </bean> </beans> /////////////////////////////////////////////////////////////////////////////////////// //File: parent.xml <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <bean id="injectBean" class="java.lang.String"> <constructor-arg> <value>Bean In Parent</value> </constructor-arg> </bean> <bean id="injectBeanParent" class="java.lang.String"> <constructor-arg> <value>Bean In Parent</value> </constructor-arg> </bean> </beans> /////////////////////////////////////////////////////////////////////////////////////// public class SimpleTarget { private String val; public void setVal(String val) { this.val = val; } public String getVal() { return val; } } /////////////////////////////////////////////////////////////////////////////////////// import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.xml.XmlBeanFactory; import org.springframework.core.io.FileSystemResource; public class HierarchicalBeanFactoryUsage { public static void main(String[] args) { BeanFactory parent = new XmlBeanFactory(new FileSystemResource( "build/parent.xml")); BeanFactory child = new XmlBeanFactory(new FileSystemResource( "build/beans.xml"), parent); SimpleTarget target1 = (SimpleTarget) child.getBean("target1"); SimpleTarget target2 = (SimpleTarget) child.getBean("target2"); SimpleTarget target3 = (SimpleTarget) child.getBean("target3"); System.out.println(target1.getVal()); System.out.println(target2.getVal()); System.out.println(target3.getVal()); } }
1. | Message Digest Example | ![]() | |
2. | Method Replacement Example | ![]() | |
3. | Property Editor Bean | ![]() | |
4. | Logging Bean Example | ![]() | |
5. | Custom Editor Example | ![]() | |
6. | Accessing Factory Beans | ![]() |