序
本文主要展示一下dubbo-spring-boot-starter的使用。
maven
com.alibaba.spring.boot dubbo-spring-boot-starter 2.0.0 com.101tec zkclient 0.10 org.slf4j slf4j-log4j12 log4j log4j
service-impl
application.yml
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
EnableDubboConfiguration
@SpringBootApplication@EnableDubboConfigurationpublic class ServiceImplApplication { public static void main(String[] args) { SpringApplication.run(ServiceImplApplication.class, args); }}
EchoServiceImpl
@Service(interfaceClass = EchoService.class)@Componentpublic class EchoServiceImpl implements EchoService { @Override public String echo(String content) { return "hello:" + Objects.toString(content,"null"); }}
consumer
application.yml
spring: application: name: consumer-demodubbo: application: name: consumer-demo registry: address: zookeeper://127.0.0.1:2181 protocol: name: dubbo scan: basePackages: com.example
EnableDubbo
@SpringBootApplication@EnableDubbopublic 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")); }}
Reference
@Componentpublic class ConsumerService { @Reference EchoService echoService; public String echo(String content){ return echoService.echo(content); }}
小结
dubbo-spring-boot-starter的官方文档貌似比较粗糙,比较不符合spring boot开源项目的风格,也没有看到example工程,实践起来,稍稍费劲一点。