title: SpringJUnit4ClassRunner initialize beans for each test?
body: <p>The following test illustrates that this test bean is initialized twice by Spring.  I'm hoping someone can tell me why this is so, since it should only be once.  Here's the test:</p>
  
  <pre><code>import org.apache.log4j.Logger;
  import org.junit.Test;
  import org.junit.runner.RunWith;
  import org.springframework.beans.factory.InitializingBean;
  import org.springframework.test.context.ContextConfiguration;
  import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
  
  
  @RunWith(SpringJUnit4ClassRunner.class)
  @ContextConfiguration(locations = {} )
  public class TestAfterPropsSet implements InitializingBean {
  
  private static final Logger logger = Logger.getLogger(TestAfterPropsSet.class);
  
  @Test
  public void test1() {
      logger.debug("Test1");
  }
  
  @Test
  public void test2() {
      logger.debug("Test2");      
  }
  
  public void afterPropertiesSet() throws Exception {
      logger.debug("Bean Initialized");       
  }
  } // end class
  </code></pre>
  
  <p>Here's the bean file:</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"
      xsi:schemaLocation="
          http://www.springframework.org/schema/beans
              http://www.springframework.org/schema/beans/spring-beans.xsd"&gt;
  &lt;/beans&gt;
  </code></pre>
  
  <p>and here's the output:</p>
  
  <pre><code>2009-10-13 21:20:04,393 [TestAfterPropsSet.java 26] DEBUG - Bean Initialized
  2009-10-13 21:20:04,393 [TestAfterPropsSet.java 17] DEBUG - Test1
  2009-10-13 21:20:04,393 [TestAfterPropsSet.java 26] DEBUG - Bean Initialized
  2009-10-13 21:20:04,393 [TestAfterPropsSet.java 22] DEBUG - Test2
  </code></pre>