init Method in Spring

Calling Bean using init() method in Spring, this section describes the way to initialize a bean through its lifecycle events using the init() method .Here we have defined the property and values of the bean using the init method as shown below:-

:-Here "Bean" is the name of the bean class which would be referred in the xml file with the id "mybean".

init-method="init":-Specify the init method named "init" in the configuration file.

Roseindia.net:-Here the element is used to declare the attributes and to pass the desired value to the property element, the element is used. Here the property name is "name"and its value is "Roseindia.net".



Roseindia.net


Rohini

Software Development Company

initMethod.xml

"-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd"
>

"mybean" class="Bean" init-method="init">
"name">
Roseindia.net

"address">
Rohini

"type">
Software Development Company


Here is the file named SimpleBean.java through which we are retrieving the properties of the bean which we have defined in the above file i.e. initMethod.xml.

BeanFactory factory = new XmlBeanFactory(new FileSystemResource("initMethod.xml")):-
Creates an instance of the XmlBeanFactory which is used to read bean definition from an XML document.

SimpleBean.java

import org.springframework.beans.factory.BeanCreationException;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.FileSystemResource;

public class Bean {

private static final String DEFAULT_NAME = "Girish";
private String name = null;
private String address = null;
private String type = null;


public void setName(String name) {
this.name = name;
}
public void setAddress(String address) {
this.address = address;
}

public void setType(String type) {
this.type = type;
}

public void init() {
System.out.println("Initializing bean");

if (name == null) {
System.out.println("Using default name");
name = DEFAULT_NAME;
}
if (address == null) {
System.out.println("Using default name");
address = DEFAULT_NAME;
}
if (type == null) {
System.out.println("Using default name");
type = DEFAULT_NAME;
}

}
public String toString() {
return "Name: " + name + "\nAddress: " + address + "\nType: " + type ;
}

public static void main(String[] args) {
BeanFactory factory = new XmlBeanFactory(new FileSystemResource(
"initMethod.xml"));

Bean Bean1 = getBean("mybean", factory);
}
private static Bean getBean(String beanName, BeanFactory factory) {
try {
Bean bean = (Bean) factory.getBean(beanName);
System.out.println(bean);
return bean;
} catch (BeanCreationException ex) {
System.out.println("An error occured
in bean configuration: " + ex.getMessage());
return null;
}
}
}

Output of the program

Initializing bean

Name: Roseindia.net

Address: Rohini

Type: Software Development Company

Download Source code

0 comments:

Post a Comment