全部产品
云市场

使用注解方式

更新时间:2020-02-18 16:40:41

除了常规的 XML 方式发布服务外,也支持在SOFABoot 环境下使用注解方式的发布与引用,同 XML 类似,我们有@SofaService@SofaReference,同时对于多协议,存在@SofaServiceBinding@SofaReferenceBinding 注解。

服务发布

如果要发布一个 RPC 服务,只需要在 Bean 上面打上 @SofaService 注解,指定接口和协议类型即可。

  1. @SofaService(interfaceType = AnnotationService.class, bindings = { @SofaServiceBinding(bindingType = "bolt") })
  2. @Component
  3. public class AnnotationServiceImpl implements AnnotationService {
  4. @Override
  5. public String sayAnnotation(String stirng) {
  6. return stirng;
  7. }
  8. }

服务引用

对于需要引用远程服务的 bean,只需要在属性或者方法上,打上 Reference 的注解即可,支持 bolt、dubbo、rest 协议。

  1. @Component
  2. public class AnnotationClientImpl {
  3. @SofaReference(interfaceType = AnnotationService.class, binding = @SofaReferenceBinding(bindingType = "bolt"))
  4. private AnnotationService annotationService;
  5. public String sayClientAnnotation(String str) {
  6. String result = annotationService.sayAnnotation(str);
  7. return result;
  8. }
  9. }