繁体   English   中英

从另一个项目调用spring @service

[英]Call a spring @service from another project

我一直在研究Spring MVC 4,并且我了解到Spring有几个注释可以使开发更快。 这个问题和答案很好地解释了@ Component,@ Service,@ Repository和@Controller之间的关系。 我的问题是:

  1. 可以从另一台机器上将@service类作为通用的wsdl服务调用吗? 例如,从作为该服务客户端的独立应用程序。

  2. 还是@service注释仅仅是为了标记类的使用?

谢谢

使用@Service注释的类中的方法不能从外部调用,但通常的做法是在您使用@Service注释类(通常称为服务层)的层的顶部添加通常称为facade的另一个层。 使用此Facade,您可以通过REST,SOAP等不同方式公开您的服务。

注释@Service只是@Component注释的特殊版本,其目的不是提供对实现的远程访问。

如文档中所述,@ Service注释有助于在类路径扫描期间自动检测类(请参阅JavaDoc )并由某些工具处理。 另请查看Spring论坛上的说明。

我不认为可以通过使用@service来调用它,而您需要使用@Webservice对该类进行注释以将其暴露给外界

不要将javax @WebService此处定义的Spring @Service混淆。 虽然两者都称为服务 @Service的目的很简单:

此注释用作@Component的特化,允许通过类路径扫描自动检测实现类。

因此,由于@WebService用于WSDL (外部访问),因此@Service用于Spring的内部使用。 如果要从其他计算机访问“服务”,则必须编写@WebService或使用带有SpringMVC @RequestMapping

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM