Inheritance in Spring
Inheritance in Spring
Inheritance Demo, In the example given below we are going
to tell
about the inheritance in the Spring framework. By inheritance we mean a way of forming new classes
using classes that have already been defined. Here we have created a simple bean
and used this bean as a template for creating other beans. <bean id="parent" class="mybean" >:-Creates
a Parent bean which would be used as a template for creating other beans. Here
"mybean" is the name of the bean class which would be
referred in the xml file with the id "parent". <bean id="child" class="mybean" parent="parent">:-Creates
a child bean which would be inheriting from the parent bean defined above. parent="parent":-Specify that this
bean is inheriting the properties of some other bean. context.xml Main.java This is the file through which we are retrieving the
property of the bean defined above. Some of the methods which are used here are
as follows:- XmlBeanFactory factory = new XmlBeanFactory(new ClassPathResource("context.xml")):-This
method creates an instance of the XmlBeanFactory which is used to read bean
definition from an XML document (bf.getBean("child")):-This method
returns an instance of the bean named "child", which is shared or independent, of the given bean name. (bf.getBean("subchild")):-This
method returns an instance of the bean named "subchild", which
is shared or independent, of the given bean name. stringBuilder.append("Bean"):-This is
the method of the class string Builder which appends the specified string to this character sequence. Output of the program Ads
<bean id="parent" class="mybean" >
<property name="name" value="Roseindia.net"/>
</bean>
<bean id="child" class="mybean" parent="parent">
<property name="address" value="Rohini"/>
</bean>
<?xml version="1.0" encoding="UTF-8"?>
<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.xsd">
<bean id="parent" class="mybean" >
<property name="name" value="Roseindia.net"/>
</bean>
<bean id="child" class="mybean" parent="parent">
<property name="address" value="Rohini"/>
</bean>
<bean id="subchild" class="mybean" parent="parent"/>
</beans>
new ClassPathResource("context.xml"):-Creates a new
ClassPathResource for ClassLoader .Here the context.xml is the file which is to
be loaded.import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
public class Main {
public static void main(String[] args) throws Exception {
XmlBeanFactory bf = new XmlBeanFactory(new ClassPathResource("context.xml"));
System.out.println("===============Inheritance demo=================");
System.out.println(bf.getBean("child"));
System.out.println(bf.getBean("subchild"));
}
}
class mybean {
private String name;
private String address;
public void setName(String name) {
this.name = name;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
final StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("Bean");
stringBuilder.append("{name='").append(name).append('\'');
stringBuilder.append(", address=").append(address);
stringBuilder.append('}');
return stringBuilder.toString();
}
}
Nov 25, 2008 3:39:29 AM
org.springframework.beans.factory.xml.XmlBeanDefinitionReader
loadBeanDefinitions INFO: Loading XML bean definitions from class path
resource [context.xml] ===============Inheritance demo=================
Bean{name='Roseindia.net', address=Rohini} Bean{name='Roseindia.net',
address=null} BUILD SUCCESSFUL (total time: 1 second)