本文主要展現一下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