我有以下代码:
如何在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
的人都会获得一个已经配置的实例。