title: lazy-init="true" on a LocalContainerEntityManagerFactoryBean is ignored as of Spring 3.2
body: <p>Set lazy-init="true" on a LocalContainerEntityManagerFactoryBean gets ignored as of Spring 3.2. I have ported an application from Spring 3.0 to 3.2. The lazy init of the LocalContainerEntityManagerFactoryBean works fine in Spring 3.0 but not in 3.2. </p>
  
  <pre><code>&lt;bean id="entityManagerFactory" 
     class="de.gillardon.base.hibernate.internal.EntityManagerFactoryBean" 
     lazy-init="true"&gt;
      &lt;property name="persistenceProviderClass" 
                value="org.hibernate.ejb.HibernatePersistence"/&gt;
      &lt;property name="dataSource" ref="dataSource"/&gt;
      &lt;property name="jpaProperties" ref="jpaProperties"/&gt;
  &lt;/bean&gt;
  </code></pre>
  
  <p>I think the change was introduced with CS <a href="https://github.com/spring-projects/spring-framework/commit/3c59725b94faef83bbc3ca5d48f955aabe6ff9d0" rel="nofollow">https://github.com/spring-projects/spring-framework/commit/3c59725b94faef83bbc3ca5d48f955aabe6ff9d0</a> for Spring v3.2.0.RC1. </p>
  
  <p>In </p>
  
  <pre><code>org.springframework.context.support.AbstractApplicationContext.
  finishBeanFactoryInitialization(ConfigurableListableBeanFactory)
  ...
  // Initialize LoadTimeWeaverAware beans early to allow for registering their transformers early.
  String[] weaverAwareNames = beanFactory.getBeanNamesForType(LoadTimeWeaverAware.class, false, false);
  for (String weaverAwareName : weaverAwareNames) {
      getBean(weaverAwareName);
  }
  </code></pre>
  
  <p>As LocalContainerEntityManagerFactoryBean implements LoadTimeWeaverAware it gets initialized even if lazy-init=true. Is this an <strong>intended behavior or a bug</strong>? I could not find any hint on this behavior in the documentation.</p>