title: spring--Cannot autowire bean
body: <p>I'm unable to autowire the bean and while running i'm getting output as:</p>
  
  <pre><code>Jul 28, 2013 1:21:42 PM org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh
  INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@17aece8: startup date [Sun Jul 28 13:21:42 CDT 2013]; root of context hierarchy
  Jul 28, 2013 1:21:44 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
  INFO: Loading XML bean definitions from class path resource [spring.xml]
  Jul 28, 2013 1:21:50 PM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
  INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@1dc696e: defining beans [org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,prod,type,org.springframework.context.annotation.ConfigurationClassPostProcessor.importAwareProcessor]; root of factory hierarchy
  
  
  Id is: 1 Name is: LED Type is: null
  </code></pre>
  
  <p>Here is my code:    </p>
  
  <pre><code>package org.autowire;
  
  import org.springframework.beans.factory.annotation.Autowired;
  import org.autowire.action1.Type;
  
  public class Product {
      private int id;
      private String name;
  
      private Type type;
      public int getId() {
          return id;
      }
      public void setId(int id) {
          this.id = id;
      }
  
      public String getName() {
          return name;
      }
      @Autowired
      public void setName(String name) {
          this.name = name;
      }
  
  
      public void display(){
          System.out.println("Id is: "+ id +" Name is: " + name +" Type is: " +type);
      }
  
  
  }
  </code></pre>
  
  <p>Type.java</p>
  
  <pre><code>package org.autowire.action1;
  
  public class Type {
  
      private String type;
  
      public String getType() {
          return type;
      }
  
      public void setType(String type) {
          this.type = type;
      }
  }
  </code></pre>
  
  <p>spring.xml</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
      &lt;beans xmlns="http://www.springframework.org/schema/beans"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns:context="http://www.springframework.org/schema/context"
         xsi:schemaLocation="http://www.springframework.org/schema/beans 
             http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
             http://www.springframework.org/schema/context
             http://www.springframework.org/schema/context/spring-context-3.0.xsd"&gt;
  
       &lt;!-- Add your classes base package here --&gt;          
       &lt;context:component-scan base-package="org.autowire.Product"/&gt;
  
      &lt;bean id="prod" class="org.autowire.Product" &gt;
          &lt;property name="id" value="1"&gt;&lt;/property&gt;
          &lt;property name="name" value="LED"&gt;&lt;/property&gt;
      &lt;/bean&gt;
  
  
      &lt;bean id="type" class="org.autowire.action1.Type"&gt;
          &lt;property name="type" value="import"&gt;&lt;/property&gt;
      &lt;/bean&gt;
  
  
  
  &lt;/beans&gt;
  </code></pre>
  
  <p>TestApp:</p>
  
  <pre><code>package org.autowire.action1;
  
  import org.autowire.Product;
  import org.springframework.context.ApplicationContext;
  import org.springframework.context.support.ClassPathXmlApplicationContext;
  
  public class TestApp {
      public static void main(String[] args) {
          ApplicationContext context=new ClassPathXmlApplicationContext("spring.xml");
          Product product=(Product)context.getBean("prod");
          product.display();
      }
  
  }
  </code></pre>
  
  <p>Thanks in advance!!!</p>