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. Here "Bean" is the name of the bean
class which would be further referred in the xml file with the id "MyBean". context.xml 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 Here the method toString() is overridden which
is returning the the company name and value that has been defined in the
context.xml file. Output of the program Recommend the tutorial
<bean id="Mybean" class="Bean">
<property name="company" value="Name"/>
<property name="value" value="Roseindia.net"/>
</bean>
<property name="company" value="Name"/>:-Declares
the property name of the bean and its value.
<?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>
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());
}
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;
}
}
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)
Ask Questions? Discuss: Bean life cycle in spring
Post your Comment