Pin It

How to set properties of a bean using Spring xml configuration file in Spring Framework ?.


A simple example to demonstrate, how to set properties of a bean using Spring xml configuration file in Spring Framework


1. Create a normal class say 'Dog' -

package com.hubberspot.spring;


public class Dog {

 private String tail;
 private String coat;
 private String breed;

 // Generating getters and setters
 // for all the properties of Dog
 public String getTail() {
  return tail;
 }

 public void setTail(String tail) {
  this.tail = tail;
 }

 public String getCoat() {
  return coat;
 }

 public void setCoat(String coat) {
  this.coat = coat;
 }

 public String getBreed() {
  return breed;
 }

 public void setBreed(String breed) {
  this.breed = breed;
 }

 public void move() {
  System.out.println("A Dog of breed "+ getBreed() +", " +
    "having "+ getCoat() +"\nand "+ getTail() + " " +
    "tail moves slowly ...");
 }

}




2. Create a spring.xml file placed in classpath of your application -


1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" 
"http://www.springframework.org/dtd/spring-beans-2.0.dtd">

<beans>

 <!-- In order to create an object of bean we define its properties in bean 
  tag. The 'id' attribute value can be thought of as a reference to 'class' 
  attribute value -->
 <bean id="dog" class="com.hubberspot.spring.Dog">

  <!-- setting the property of dog from the spring configuration file, the 
   property tag uses the setter method to set the properties to its respective 
   field -->
  <property name="tail" value="straight"></property>
  <property name="coat" value="stripes on white fur"></property>
  <property name="breed" value="German Shepherd"></property>
 </bean>

</beans>




3. Create a Test class for the application (imp) -


package com.hubberspot.spring;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;


public class WildLifeApplication {

 public static void main(String[] args) {

  // ApplicationContext is a Spring interface which 
  // provides with the configuration for an application. 
  // It provides us with all the methods that BeanFactory 
  // provides. It loads the file resources in a older 
  // and generic manner. It helps us to publish events to the
  // listener registered to it. It also provides quick support
  // for internationalization. It provides us with the object 
  // requested, it reads the configuration file and provides
  // us with the necessary object required.
  // We are using concrete implementation of ApplicationContext
  // here called as ClassPathXmlApplicationContext because this 
  // bean factory reads the xml file placed in the classpath of 
  // our application. We provide ClassPathXmlApplicationContext
  // with a configuration file called as spring.xml placed
  // at classpath of our application. 
  ApplicationContext context = 
    new ClassPathXmlApplicationContext(("spring.xml"));

  // In order to get a object instantiated for a particular bean 
  // we call getBean() method of ClassPathXmlApplicationContext
  // passing it the id for which the object is to be needed. 
  // Here getBean() returns an Object. We need to cast it back 
  // to the Dog object. Without implementing new keyword we 
  // have injected object of Dog just by reading an xml 
  // configuration file.
  Dog dog = (Dog)context.getBean("dog");

  // Calling our functionality
  dog.move();

 }

}




Output of the program :



Please Give Us Your 1 Minute In Sharing This Post!
SOCIALIZE IT →
FOLLOW US →
SHARE IT →
Related Posts Plugin for WordPress, Blogger...

Post your related queries below ...

comments powered by Disqus
Powered by Blogger.
 
© 2012 Learn Java by Examples Template by Hubber Spot