本文主要展现一下dubbo-spring-boot-starter的使用。git
<dependency> <groupId>com.alibaba.spring.boot</groupId> <artifactId>dubbo-spring-boot-starter</artifactId> <version>2.0.0</version> </dependency> <dependency> <groupId>com.101tec</groupId> <artifactId>zkclient</artifactId> <version>0.10</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </exclusion> <exclusion> <groupId>log4j</groupId> <artifactId>log4j</artifactId> </exclusion> </exclusions> </dependency>
spring: application: name: service-impl dubbo: server: true application: name: service-impl registry: address: zookeeper://127.0.0.1:2181 protocol: name: dubbo port: 20880 scan: basePackages: com.example
@SpringBootApplication @EnableDubboConfiguration public class ServiceImplApplication { public static void main(String[] args) { SpringApplication.run(ServiceImplApplication.class, args); } }
@Service(interfaceClass = EchoService.class) @Component public class EchoServiceImpl implements EchoService { @Override public String echo(String content) { return "hello:" + Objects.toString(content,"null"); } }
spring: application: name: consumer-demo dubbo: application: name: consumer-demo registry: address: zookeeper://127.0.0.1:2181 protocol: name: dubbo scan: basePackages: com.example
@SpringBootApplication @EnableDubbo public class ConsumerDemoApplication implements CommandLineRunner { public static void main(String[] args) { SpringApplication.run(ConsumerDemoApplication.class, args); } @Autowired ConsumerService consumerService; @Override public void run(String... args) throws Exception { System.out.println(consumerService.echo("world")); } }
@Component public class ConsumerService { @Reference EchoService echoService; public String echo(String content){ return echoService.echo(content); } }
dubbo-spring-boot-starter的官方文档貌似比较粗糙,比较不符合spring boot开源项目的风格,也没有看到example工程,实践起来,稍稍费劲一点。github