为什么80%的码农都做不了架构师?>>>
序
本文主要展示一下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
@EnableDubboConfiguration
public class ServiceImplApplication {
public static void main(String[] args) {
SpringApplication.run(ServiceImplApplication.class, args);
}
}
EchoServiceImpl
@Service(interfaceClass = EchoService.class)
@Component
public class EchoServiceImpl implements EchoService {
@Override
public String echo(String content) {
return "hello:" + Objects.toString(content,"null");
}
}
consumer
application.yml
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
EnableDubbo
@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"));
}
}
Reference
@Component
public class ConsumerService {
@Reference
EchoService echoService;
public String echo(String content){
return echoService.echo(content);
}
}
小结
dubbo-spring-boot-starter的官方文档貌似比较粗糙,比较不符合spring boot开源项目的风格,也没有看到example工程,实践起来,稍稍费劲一点。
doc
- dubbo-spring-boot-starter