背景:我有两个项目,proj A和proj B.现在,在proj A中我有一个cache.xml文件,一个java bean(比如客户bean),一个存储库类(RecordRepository)。我在cache.xml中加载了存储库类
Cache.xml
</gfe:client-region>
<!--Scan for annotated GemFire Repositories-->
<gfe-data:repositories base-package="cache.repository" />
在proj B中,我导入了proj A的jar,然后尝试加载bean和存储库。 我的目标是创建一个customer bean对象,然后调用repository类来保存customer bean。
Employee emp = (Employee)facilityCacheLoader.getRegionBean();
emp.setRecordId("2001");
emp.setRecordString("record string 2002");
// update the Bean and save
RecordRepository rep = (RecordRepository)facilityCacheLoader.getRepository();
rep.save(emp);
但是我得到以下例外:
线程“main”中的异常org.springframework.beans.factory.NoSuchBeanDefinitionException:未定义[cache.repository.RecordRepository]类型的限定bean 在org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:296) 在org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1125) 在com.rxc.cacheclient.CacheLoaderClient.main(CacheLoaderClient.java:40)
答案 0 :(得分:0)
你是什么意思?
在proj B中,我导入了proj A的jar,然后尝试加载bean和存储库。
具体而言......&#34;我&#39; import&#39; proj A&#34;?
的罐子实际上,proj A的JAR文件必须位于proj B创建的应用程序的类路径中,当然假设cache.repository.RecordRepository
是{{1}的完全限定类名(FQCN)在proj A中定义的类,并且您希望在 Spring的类路径组件扫描中获取它,由SD的基础结构用于定位应用程序定义的{{1} }(例如你的Repository
)在proj B的应用程序中,即......
Repositories
也许您可以与应用程序代码和配置共享GitHub项目
谢谢! -John