SpringBoot dubbo 的简单使用注解版本
关于dubbo 的引用是
implementation group: 'org.apache.dubbo', name: 'dubbo-spring-boot-starter', version: '2.7.6'
- alibb-dubbo-mineserviceapi 模块 ---- 接口模块
public interface AnnotationDemoService {
String sayHello();
}
- alibb-sample-dubbo-provider ---- 服务提供者
import com.study.alibbdubbomineserviceapi.demo.AnnotationDemoService;
import org.apache.dubbo.config.annotation.Service;
@Service//服务实现 注意这个注解是Dubbo的
public class AnnotationDemoProvider implements AnnotationDemoService {
@Override
public String sayHello() {
return "AnnotationDemo Hello";
}
}
//启动
@SpringBootApplication
@EnableDubbo//启动dubbo服务
public class AlibbSampleDubboProviderApplication {
public static void main(String[] args) {
SpringApplication.run(AlibbSampleDubboProviderApplication.class, args);
}
}
配置
application.properties
dubbo.application.name=sample-provider
# 应用所属着
dubbo.application.owner=jmx
#应用所属组织
dubbo.application.organization=study
#没有注册中心
dubbo.registry.address=N/A
dubbo.protocol.name=dubbo
dubbo.protocol.port=28810
dubbo.protocol.host=127.0.0.1
- alibb-sample-dubbo-consumer 服务消费者
@SpringBootApplication
@EnableDubbo
public class AlibbSampleDubboConsumerApplication {
public static void main(String[] args) {
SpringApplication.run(AlibbSampleDubboConsumerApplication.class, args);
}
}
import com.study.alibbdubbomineserviceapi.demo.AnnotationDemoService;
import org.apache.dubbo.config.annotation.Reference;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/annntation")
public class AnnotationDemoApi {
@Autowired(required = false)
@Reference(url = "dubbo://127.0.0.1:28810")//注意这个注解的是dubbo的
private AnnotationDemoService annotationDemoService;
@RequestMapping("hello")
public String sayHello(){
return annotationDemoService.sayHello();
}
}
配置
application.properties
server.port=8082
dubbo.application.name=sample-consumer
dubbo.registry.address=N/A