服务提供者
-
添加dubbo依赖和zkClient客户端
<!--引入dubbo启动器--> <dependency> <groupId>com.alibaba.boot</groupId> <artifactId>dubbo-spring-boot-starter</artifactId> <version>0.2.0</version> </dependency> <!--引入Zookeeper客户端zkClient--> <dependency> <groupId>com.101tec</groupId> <artifactId>zkclient</artifactId> <version>0.10</version> </dependency>
-
在application.properties文件中配置服务提供者
#配置Dubbo dubbo.application.name=wzx-service #配置Zookeeper注册中心 dubbo.registry.address=zookeeper://192.168.25.128:2181 dubbo.protocol.port=20881 server.port=9999
-
编写服务实现
使用dubbo的@Service注解来发布服务@Component //阿里的dubbo Service注解 @Service public class BookServiceImpl implements BookService{ @Autowired private BookMapper bookMapper; @Override public Book findBookById(Integer id) { return bookMapper.selectByPrimaryKey(id); } }
-
使用@EnableDubbo注解开启Dubbo配置支持
@SpringBootApplication @MapperScan("com.wzx.mapper") @EnableDubbo// 开启Dubbo配置支持 public class WzxServiceImplApplication { public static void main(String[] args) { SpringApplication.run(WzxServiceImplApplication.class, args); } }
服务消费者
-
添加Dubbo依赖和zkClient客户端
<!--引入dubbo启动器--> <dependency> <groupId>com.alibaba.boot</groupId> <artifactId>dubbo-spring-boot-starter</artifactId> <version>0.2.0</version> </dependency> <!--引入Zookeeper客户端zkClient--> <dependency> <groupId>com.101tec</groupId> <artifactId>zkclient</artifactId> <version>0.10</version> </dependency>
-
在application.properties中进行dubbo配置
server.port=8088 #配置Dubbo dubbo.application.name=wzx-web #配置Zookeeper注册中心 dubbo.registry.address=zookeeper://192.168.25.128:2181
-
编写Controller调用服务
使用Dubbo的@Reference注解来引用服务@Controller @RequestMapping("/book") public class controller { //引用服务 @Reference private BookService bookService; @GetMapping("/findBookById/{id}") @ResponseBody public Book findBookById(@PathVariable Integer id){ Book book = bookService.findBookById(id); return book; } }
-
使用@EnableDubbo注解开启Dubbo配置支持
@SpringBootApplication @EnableDubbo @EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class}) public class WzxWebApplication { public static void main(String[] args) { SpringApplication.run(WzxWebApplication.class, args); } }
测试服务调用