Spring手册中的以下示例使我感到困惑。
<bean id="cacheManager"
class="org.springframework.cache.ehcache.EhCacheCacheManager"
p:cache-manager-ref="ehcache"/>
<!-- Ehcache library setup -->
<bean id="ehcache"
class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"
p:config-location="ehcache.xml"/>
命名约定要求EhCacheManagerFactoryBean
产生一个缓存管理器,更准确地说它是一个net.sf.ehcache.CacheManager
实例。然而,bean 被称为ehcache
not ehcachemanager
。然而,实际的cacheManager
bean 引用了这个 bean。
在散文中,您可以说一个是 Ehcache 缓存管理器,而另一个是 Spring 缓存管理器(由前者支持)。
如果你使用它会变得更糟EhCacheFactoryBean
:
<bean
id="myCache"
class="org.springframework.cache.ehcache.EhCacheFactoryBean">
<property name="cacheManager">
<ref local="ehcache" />
</property>
有一个名为的属性cacheManager
引用了一个名为ehcache
.
我是不是误会了什么,还是真的那么令人困惑?示例中的糟糕设计或只是糟糕的命名?