title: result of over-eager type matching - consider using 'getBeanNamesOfType' with the 'allowEagerInit' flag turned off
body: <blockquote>
  <p>org.springframework.beans.factory.BeanCurrentlyInCreationException:
  Error creating bean with name
  'org.springframework.cache.annotation.AnnotationCacheOperationSource#0':
  Bean with name
  'org.springframework.cache.annotation.AnnotationCacheOperationSource#0'
  has been injected into other beans
  [org.springframework.cache.config.internalCacheAdvisor] in its raw
  version as part of a circular reference, but has eventually been
  wrapped. This means that said other beans do not use the final version
  of the bean. This is often the result of over-eager type matching -
  consider using 'getBeanNamesOfType' with the 'allowEagerInit' flag
  turned off, for example.  at
  org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:551)
  at
  org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461)
  at
  org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295)
  at
  org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
  at
  org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)
  at
  org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
  at
  org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626)
  at
  org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932)
  at
  org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)
  at
  org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389)
  at
  org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294)
  at
  org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)
  at
  org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4779)
  at
  org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5273)
  at
  org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
  at
  org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1366)
  at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1454)
  at
  org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:295)
  at
  org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
  at
  org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
  at
  org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1379)
  at
  org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1537)
  at
  org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1547)
  at
  org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1526)
  at java.lang.Thread.run(Thread.java:619) 27 Aug, 2013 8:33:09 AM
  org.apache.catalina.core.StandardContext listenerStart SEVERE:
  Exception sending context initialized event to listener instance of
  class org.springframework.web.context.ContextLoaderListener
  org.springframework.beans.factory.BeanCurrentlyInCreationException:
  Error creating bean with name
  'org.springframework.cache.annotation.AnnotationCacheOperationSource#0':
  Bean with name
  'org.springframework.cache.annotation.AnnotationCacheOperationSource#0'
  has been injected into other beans
  [org.springframework.cache.config.internalCacheAdvisor] in its raw
  version as part of a circular reference, but has eventually been
  wrapped. This means that said other beans do not use the final version
  of the bean. This is often the result of over-eager type matching -
  consider using 'getBeanNamesOfType' with the 'allowEagerInit' flag
  turned off, for example.  at
  org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:551)
  at
  org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461)
  at
  org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295)
  at
  org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
  at
  org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)
  at
  org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
  at
  org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626)
  at
  org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932)
  at
  org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)
  at
  org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389)
  at
  org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294)
  at
  org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)
  at
  org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4779)
  at
  org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5273)
  at
  org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
  at
  org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1366)
  at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1454)
  at
  org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:295)
  at
  org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
  at
  org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
  at
  org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1379)
  at
  org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1537)
  at
  org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1547)
  at
  org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1526)
  at java.lang.Thread.run(Thread.java:619)</p>
  </blockquote>
  <h2>my application-context.xml</h2>
  <pre><code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
  &lt;beans default-lazy-init=&quot;true&quot;&gt;
      &lt;context:annotation-config /&gt;
      &lt;!-- Scans within the base package of the application for @Components to 
          configure as beans --&gt;
      &lt;context:component-scan base-package=&quot;com.voterite.service&quot; /&gt;
      
      &lt;aop:aspectj-autoproxy /&gt;
      
      &lt;cache:annotation-driven cache-manager=&quot;cacheManager&quot; /&gt;
      &lt;bean id=&quot;cacheManager&quot; class=&quot;org.springframework.cache.ehcache.EhCacheCacheManager&quot;&gt;
          &lt;property name=&quot;cacheManager&quot; ref=&quot;ehcache&quot; /&gt;
      &lt;/bean&gt;
      &lt;!-- Ehcache library setup --&gt;
      &lt;bean id=&quot;ehcache&quot;
          class=&quot;org.springframework.cache.ehcache.EhCacheManagerFactoryBean&quot;&gt;
          &lt;property name=&quot;configLocation&quot; value=&quot;/WEB-INF/ehcache/ehcache.xml&quot; /&gt;
      &lt;/bean&gt;
  &lt;/beans&gt;
  </code></pre>
  <p>I am using <code>@cachable</code> and aop annotation
  how to slove <code>BeanCurrentlyInCreationException</code>:
  please help</p>