我尝试使用xxxxxlocalServiceBaseImpl.java类中的方法public XxxxxLocalService getXxxxxLocalService(),该类是由服务构建器生成的,但我在变量xxxxxLocalService中得到一个空值!
public xxxxxLocalService getClientLocalService() {
return xxxxxLocalService;
}
这个变量由@BeanReference注释实例化,我们可以在java文件的头部看到:
@BeanReference(type = xxxxxLocalService.class)
protected XxxxxLocalService xxxxxLocalService;
@BeanReference(type = XxxxxPersistence.class)
protected XxxxxPersistence xxxxxPersistence;
ServieBaseImpl包中包含带有@BeanReference注释的服务,这些注释由使用BeanLocator之一的BeanReferenceAnnotationBeanPostProcessor处理。
我注意到有鸡肉和鸡肉。鸡蛋问题。如果没有已使用包含@BeanReferenced bean的应用程序上下文填充的BeanLocator,则无法加载这些bean。
但是你不能为要填充的BeanLocator创建应用程序上下文,因为如果你这样做并且BeanReferenceAnnotationBeanPostProcessor是上下文的一部分,它将使用未初始化的BeanLocator。
BeanReferenceAnnotationBeanPostProcessor在base-spring.xml中声明,需要加载其他bean定义(来自portlet-spring.xml等),因为它们相互依赖。
我不知道为什么这个班级不能设置变量值?实际上我没有在我的配置中使用base-spring.xml。所以我问我必须在我的ressource文件中添加哪些行才能使用bean引用注释! 感谢