A simple example to demonstrate, how to use Aliases when referring to a bean configuration file in Spring Framework  
1. Create a Dog class
2. Create a Spring configuration file say spring.xml and place it in classpath i.e src folder of your Eclipse
3. Create a test class and run to see the output below :
Output of the program :
1. Create a Dog class
package com.hubberspot.spring;
public class Dog {
 private String tail;
 private String coat;
 private String breed;
 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 configuration file say spring.xml and place it in classpath i.e src folder of your Eclipse
| 
 | 
3. Create a test class and run to see the output below :
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();
  
  // getting the same bean of dog by calling the alias of dog
  // alias help us by providing different name to a single
  // bean as per our design needs.
  // check for changes done in spring.xml file
  dog = (Dog)context.getBean("dog-alias");
  // Calling our functionality
  dog.move();
 }
}
Output of the program :
 

 
