我有以下代码:
如何在getAll方法中强制使用getService()方法,这意味着如果我直接调用service.findAll()编译失败?

是否可以创建注释以禁止直接使用该字段?

@Named
@Profile("default")
public class AlfrescoVersionServiceImpl  {

   @Inject
   //Request Scope service
   private AlfrescoService service;

   @Resource
   private WebServiceContext webServiceContext;


   public List<Fichier> getAll(){
       return getService().findAll();
   }


   public AlfrescoService getService(){
       service.setEnPointAdress("--");
       if(webServiceContext.isUserInRole(role)){
           service.setRole("--");
       }
   }


}


预先感谢您的答复。

最佳答案

您可以将service字段移至超类,并声明为private以防止子类访问它,同时保留getService() protected

另外,您可以在AlfrescoService方法中配置@Produces,这样,每个要求注入AlfrescoService的人都会获得一个已经配置的实例。

10-06 00:40