dubbo-nacos-demo
dubbo-nacos-demo
com.zmq
1.0-SNAPSHOT
4.0.0
com.zmq
dubbo-provide
1.8
org.springframework.boot
spring-boot-starter
org.springframework.boot
spring-boot-starter-logging
org.springframework.boot
spring-boot-starter-log4j2
org.projectlombok
lombok
true
org.springframework.boot
spring-boot-starter-test
test
org.apache.dubbo
dubbo-spring-boot-starter
org.apache.dubbo
dubbo
org.apache.dubbo
dubbo-registry-nacos
2.7.3
com.alibaba.nacos
nacos-client
apache.snapshots.https
Apache Development Snapshot Repository
https://repository.apache.org/content/repositories/snapshots
false
true
org.springframework.boot
spring-boot-maven-plugin
引入依赖
dubbo-nacos-demo
com.zmq
1.0-SNAPSHOT
4.0.0
com.zmq
dubbo-provide
1.8
org.springframework.boot
spring-boot-starter
org.springframework.boot
spring-boot-starter-logging
org.springframework.boot
spring-boot-starter-log4j2
org.projectlombok
lombok
true
org.springframework.boot
spring-boot-starter-test
test
org.apache.dubbo
dubbo-spring-boot-starter
org.apache.dubbo
dubbo
org.apache.dubbo
dubbo-registry-nacos
2.7.3
com.alibaba.nacos
nacos-client
apache.snapshots.https
Apache Development Snapshot Repository
https://repository.apache.org/content/repositories/snapshots
false
true
org.springframework.boot
spring-boot-maven-plugin
新建配置文件application.yml
nacos:
config:
server-addr: localhost:8848
spring:
application:
name: dubbo-provide
dubbo:
application:
name: ${spring.application.name}
registry:
address: nacos://${nacos.config.server-addr}
scan:
base-packages: com.zmq.service
protocol:
name: dubbo
port: 20881
创建启动类
package com.zmq;
import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@EnableDubbo
public class DubboProvideApplication {
public static void main(String[] args) {
SpringApplication.run(DubboProvideApplication.class);
}
}
创建service接口
package com.zmq.service;
public interface ProvideService {
String sayHello(String word);
}
创建service接口实现类,注意这里的service注解是dubbo的注解
package com.zmq.service.impl;
import com.zmq.service.ProvideService;
import org.apache.dubbo.config.annotation.Service;
@Service
public class ProvideImpl implements ProvideService {
public String sayHello(String word) {
return word;
}
}
引入依赖
dubbo-nacos-demo
com.zmq
1.0-SNAPSHOT
4.0.0
com.zmq
dubbo-consumer
1.8
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-logging
org.springframework.boot
spring-boot-starter-log4j2
org.projectlombok
lombok
true
org.springframework.boot
spring-boot-starter-test
test
org.apache.dubbo
dubbo-spring-boot-starter
org.apache.dubbo
dubbo
org.apache.dubbo
dubbo-registry-nacos
2.7.3
com.alibaba.nacos
nacos-spring-context
0.3.1
com.alibaba.nacos
nacos-client
com.zmq
dubbo-provide
1.0-SNAPSHOT
compile
apache.snapshots.https
Apache Development Snapshot Repository
https://repository.apache.org/content/repositories/snapshots
false
true
org.springframework.boot
spring-boot-maven-plugin
创建application.yml配置文件
server:
address:
port: 8081
spring:
application:
name: dubbo-consumer
nacos:
config:
server-addr: localhost:8848
dubbo:
registry:
address: nacos://${nacos.config.server-addr}
application:
name: ${spring.application.name}
创建启动类
package com.zmq;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class dubboConsumerApplication {
public static void main(String[] args) {
SpringApplication.run(dubboConsumerApplication.class);
}
}
创建controller调用服务
package com.zmq.controller;
import com.zmq.service.ProvideService;
import org.apache.dubbo.config.annotation.Reference;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class ConsumerController {
@Reference
ProvideService provideService;
@RequestMapping("sayHello")
public String sayHello(){
return provideService.sayHello("我爱你");
}
}
在浏览器输入localhost:8081/sayHello,即可看到输出的话
项目源码:https://github.com/xiaohuoban00/springboot-dubbo-nacos