In this tutorial we are going to see Spring bean factory container and example program using spring BeanFactory container.
The BeanFactory container provides basic support for Dependency Injection (DI) , which is defined by org.springframework.beans.factory.BeanFactory interface. Some interfaces related to BeanFactory interfaces are given below.
Most commonly used BeanFactory implementation is XmlBeanFactory class. This implementation reads the configuration metadata from an XML file and uses it into create a fully configured system or application.
The bean factory usually prepared where the resource are limited like mobile devices or applet beased applications.So use ApplicationContext unless you have a good reason for not doing so.
Here example program for BeanFactory given below.follow the steps given below to create Spring application using BeanFactory container.
1. Select File –> New –> Java Project from your Eclipse IDE.
2.Create project called XmlBeanFactory.
3. Add the following jars into your build path.
4. Now create package com.javatutorialscorner.spring under XmlBeanFactory Project
5. Next create SpringXMLBeanFactory class under com.javatutorialscorner.spring package
SpringXMLBeanFactory.java
6. Now Create RunApp class which used to load configuration from Bean.xml file
RunApp.java
In above program
First step I created XmlBeanFactory instance using ClassPathResource which load configuration from bean file which located in class path of application, It take care of creating and initializing all the objects (Beans) declared in bean.xml
Next getBean() method used to get particular bean from created context. This method used bean name as parameter and returns generic object. We can caste to actual object.
Once Object Created you can access any method from that class.
7. Create Bean.xml at where your class files created (ClassPathResource tries to load bean file from class path).
Bean.xml
Bean.xml is default name given to bean configuration file. You can choose any name for your bean.xml but you can use file name in main application to create context and your file available in your class path must be same.
Bean.xml is used to assign unique ID to different beans and controls the creation object with different values, using above file you can pass any value to variable sayHello without changing the class file.
Now you can run the program see the following output in console.
The BeanFactory container provides basic support for Dependency Injection (DI) , which is defined by org.springframework.beans.factory.BeanFactory interface. Some interfaces related to BeanFactory interfaces are given below.
- BeanFactoryAware
- InitializingBean
- DisposableBean
Most commonly used BeanFactory implementation is XmlBeanFactory class. This implementation reads the configuration metadata from an XML file and uses it into create a fully configured system or application.
The bean factory usually prepared where the resource are limited like mobile devices or applet beased applications.So use ApplicationContext unless you have a good reason for not doing so.
Here example program for BeanFactory given below.follow the steps given below to create Spring application using BeanFactory container.
1. Select File –> New –> Java Project from your Eclipse IDE.
2.Create project called XmlBeanFactory.
3. Add the following jars into your build path.
commons-logging-1.1.3.jar
spring-beans-3.2.6.RELEASE.jar
spring-context-3.2.6.RELEASE.jar
spring-context-support-3.2.6.RELEASE.jar
spring-core-3.2.6.RELEASE.jar
spring-expression-3.2.6.RELEASE.jar
4. Now create package com.javatutorialscorner.spring under XmlBeanFactory Project
5. Next create SpringXMLBeanFactory class under com.javatutorialscorner.spring package
SpringXMLBeanFactory.java
package com.javatutorialscorner.spring;
public class SpringXMLBeanFactory {
private String sayHello;
public void getSayHello() {
System.out.println("Java Tutorials Corner " + sayHello);
}
public void setSayHello(String sayHello) {
this.sayHello = sayHello;
}
}
6. Now Create RunApp class which used to load configuration from Bean.xml file
RunApp.java
package com.javatutorialscorner.spring;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
@SuppressWarnings("deprecation")
public class RunApp {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
XmlBeanFactory xmlBeanFactory = new XmlBeanFactory
(new ClassPathResource("Beans.xml"));
SpringXMLBeanFactory springXMLBeanFactory = (SpringXMLBeanFactory)xmlBeanFactory.getBean("beanFactory");
springXMLBeanFactory.getSayHello();
}
}
In above program
First step I created XmlBeanFactory instance using ClassPathResource which load configuration from bean file which located in class path of application, It take care of creating and initializing all the objects (Beans) declared in bean.xml
Next getBean() method used to get particular bean from created context. This method used bean name as parameter and returns generic object. We can caste to actual object.
Once Object Created you can access any method from that class.
7. Create Bean.xml at where your class files created (ClassPathResource tries to load bean file from class path).
Bean.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="beanFactory" class="com.javatutorialscorner.spring.SpringXMLBeanFactory">
<property name="sayHello" value="say Hello"></property>
</bean>
</beans>
Bean.xml is default name given to bean configuration file. You can choose any name for your bean.xml but you can use file name in main application to create context and your file available in your class path must be same.
Bean.xml is used to assign unique ID to different beans and controls the creation object with different values, using above file you can pass any value to variable sayHello without changing the class file.
Now you can run the program see the following output in console.
Feb 09, 2014 11:27:08 AM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [Beans.xml]
Java Tutorials Corner say Hello
0 comments:
Post a Comment