DubboSprigBootProject 致力于简化Dubbo应用在SprigBoot环境中的开发,主要包括自动装配(Auto-Cofigure)、外部化配置(Exteralized-Cofiguratio)以及生产准备(Actuator)等。
快速上手服务接口(RPC)public iterface DemoService { Strig sayHello(Strig ame);}服务提供者(Provider)实现DemoServer接口提供服务(放置于 com.alibaba.boot.dubbo.demo.provider.service包下):
@Service( versio = "1.0.0", applicatio = "${dubbo.applicatio.id}", protocol = "${dubbo.protocol.id}", registry = "${dubbo.registry.id}")public class DefaultDemoService implemets DemoService { public Strig sayHello(Strig ame) { retur "Hello, " + ame + " (from Sprig Boot)"; }}配置applicatio.properties 以提供外部化配置源:
# Sprig boot applicatiosprig.applicatio.ame = dubbo-provider-demoserver.port = 9090maagemet.port = 9091# Dubbo 组件 (如 @Service , @Referece) 扫描路径,多路径以","分割dubbo.sca.basePackages = com.alibaba.boot.dubbo.demo.provider.service# Dubbo Cofig Bea 外部化配置dubbo.applicatio.id = dubbo-provider-demodubbo.applicatio.ame = dubbo-provider-demodubbo.protocol.id = dubbodubbo.protocol.ame = dubbodubbo.protocol.port = 12345dubbo.registry.id = my-registry提供服务提供者引导类:
@SprigBootApplicatiopublic class DubboProviderDemo { public static void mai(Strig[] args) { SprigApplicatio.ru(DubboProviderDemo.class,args); }}服务消费者(Cosumer)实现服务消费者 Cotroller (位于com.alibaba.boot.dubbo.demo.cosumer.cotroller包下):
@RestCotrollerpublic class DemoCosumerCotroller { @Referece(versio = "1.0.0", applicatio = "${dubbo.applicatio.id}", url = "dubbo://localhost:12345") private DemoService demoService; @RequestMappig("/sayHello") public Strig sayHello(@RequestParam Strig ame) { retur demoService.sayHello(ame); }}增加外部化配置至applicatio.properties:
# Sprig boot applicatiosprig.applicatio.ame = dubbo-cosumer-demoserver.port = 8080maagemet.port = 8081# Dubbo Cofig Bea 外部化配置dubbo.applicatio.id = dubbo-cosumer-demodubbo.applicatio.ame = dubbo-cosumer-demodubbo.protocol.id = dubbodubbo.protocol.ame = dubbodubbo.protocol.port = 12345提供服务消费者引导类:
@SprigBootApplicatio(scaBasePackages = "com.alibaba.boot.dubbo.demo.cosumer.cotroller")public class DubboCosumerDemo { public static void mai(Strig[] args) { SprigApplicatio.ru(DubboCosumerDemo.class,args); }}
评论