Bean life cycle in spring
This example gives you an idea on how to
Initialize bean in the program and also explains the lifecycle of bean in
spring. Run the given bean example to retrieves the values of the bean using
java file. Here in the file given below i.e. (context.xml) we have declare the
bean definition.
<bean id="Mybean" class="Bean">
<property name="company" value="Name"/> <property name="value" value="Roseindia.net"/> </bean> |
Here "Bean" is the name of
the bean class which would be further referred in the xml file with the id
"MyBean".
<property name="company" value="Name"/>:-Declares the property name of the bean and its value.
<property name="company" value="Name"/>:-Declares the property name of the bean and its value.
context.xml
<?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="Mybean" class="Bean"> <property name="company" value="Name"/> <property name="value" value="Roseindia.net"/> </bean> </beans> |
Here is the file named Main.java through which we
are retrieving the properties of the bean which we have defined in the above
file i.e. context.xml
XmlBeanFactory factory = new XmlBeanFactory(new ClassPathResource("context.xml")):-Here we are creating an instance of the XmlBeanFactory which is used to read bean definition from an XML document
new ClassPathResource("context.xml"):-Creates a new ClassPathResource for ClassLoader .Here the context.xml is the file which is to be loaded.
class BeanSupport implements InitializingBean :-Here the InitializingBean interface is implemented by bean class. The use of this interface here is to do some post processing actions when all the properties have been set by the Bean Factory..
XmlBeanFactory factory = new XmlBeanFactory(new ClassPathResource("context.xml")):-Here we are creating an instance of the XmlBeanFactory which is used to read bean definition from an XML document
new ClassPathResource("context.xml"):-Creates a new ClassPathResource for ClassLoader .Here the context.xml is the file which is to be loaded.
class BeanSupport implements InitializingBean :-Here the InitializingBean interface is implemented by bean class. The use of this interface here is to do some post processing actions when all the properties have been set by the Bean Factory..
@Override
public String toString() { return String.format("%s : \"%s\"", this.company, getValue()); } |
Here the method toString() is overridden which is returning the the company name and value that has
been defined in the context.xml file.
Main.java
Main.java
import org.springframework.beans.factory.InitializingBean;
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 factory = new XmlBeanFactory(new ClassPathResource("context.xml"));
System.out.println(factory.getBean("Mybean"));
} } class Bean extends BeanSupport { private String company; public void setCompany(String company) { this.company = company; } @Override public String toString() { return String.format("%s : \"%s\"", this.company, getValue()); } } class BeanSupport implements InitializingBean { private String value; public final void afterPropertiesSet() throws Exception { } public final void setValue(String value) { this.value = value; } protected final String getValue() { return this.value; } } |
Output of the program
Nov
25, 2008 5:25:41 AM
org.springframework.beans.factory.xml.XmlBeanDefinitionReader
loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [context.xml] Name : "Roseindia.net" BUILD SUCCESSFUL (total time: 1 second) |
Comments
Post a Comment