1.整体项目结构
2.外层POM依赖
<?xml version="1.0" encoding="UTF-8"?>4.0.0springboot-dubbo com.tpay pom1.0.0springboot-dubbo-facadespringboot-dubbo-servicespringboot-dubbo-consumerorg.springframework.boot spring-boot-starter-parent 2.0.3.RELEASE1.81.81.8UTF-8UTF-80.2.14.0.35.Finalio.netty netty-all ${netty-all.version}com.alibaba.boot nacos-config-spring-boot-starter ${nacos-config-spring-boot.version}com.alibaba.boot nacos-config-spring-boot-actuator ${nacos-config-spring-boot.version}com.alibaba dubbo-registry-nacos 0.0.1com.alibaba dubbo 2.6.5com.alibaba.spring spring-context-support 1.0.2com.alibaba.boot dubbo-spring-boot-starter 0.2.1.RELEASEcom.alibaba dubbo
3.facade接口模块
public interface IDemoService { String sayName(String name);}
4.Dubbo provider模块
application.properties
server.port=9001nacos.config.server-addr=127.0.0.1:8848spring.application.name=springboot-dubbo-servicedubbo.application.name=springboot-dubbo-providerdubbo.registry.address=nacos://127.0.0.1:8848dubbo.scan.base-packages=com.tpay.servicedubbo.protocol.name=dubbodubbo.protocol.port=-1dubbo.provider.threadpool=fixeddubbo.provider.timeout=50000dubbo.service.version=1.0.0demo.service.name=demoServicemanagement.endpoints.web.exposure.include=*management.endpoint.health.show-details=always# 设置日志等级logging.level.com.tpay.*=trace# 设置在控制台输出的日志的格式logging.pattern.console=[%d{yyyy-MM-dd}]-[%level]-[%msg]-%logger{50}%n# 指定文件中日志输出的格式logging.pattern.file=%d{yyyy-MM-dd} === [%thread] === %level === %logger{50} ==== %msg%n# 设置输出日志文件logging.file=/springboot-dubbo-service.log
@Service(version = "${dubbo.service.version}")public class DemoServiceImpl implements IDemoService { @Value("${demo.service.name}") private String serviceName; @Override public String sayName(String name) { RpcContext rpcContext = RpcContext.getContext(); return String.format("Service [name :%s , port : %d] %s("%s") : Hello,%s