当前位置 博文首页 > u011767319的博客:springboot+nacos+duboo(使用的是spring clo
本人的下载地址nacos1.2.1.zip
启动的话,win 使用 startup.cmd的文件,双击启动
注意 本人已经被坑过了,让我烦躁了好久
建议是使用duboo 2.7.5(2.7.6 版本有问题,需要定义组和版本号,不然@Reference 注入会失败)
<properties>
<nacos.version>2.2.1.RELEASE</nacos.version>
<dubbo.version>2.7.5</dubbo.version>
</properties>
<dependencies>
<!--nacos-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>${nacos.version}</version>
</dependency>
<!--dubbo start-->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>${dubbo.version}</version>
</dependency>
<!--dubbo end-->
</dependencies>
server:
port: 8001
spring:
application:
name: auth
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
dubbo:
application:
version: 1.0.0
name: ${spring.application.name}
registry:
address: nacos://${spring.cloud.nacos.discovery.server-addr}
protocol:
name: dubbo
port: 20881 #消费者可以不用被发现可以不用配置端口,如果需要就改一下端口
scan:
base-packages: com.ronrun.*.service #扫包
建议:定义一个公有包 使用maven 方式引入公有包就可以使用了
public interface ICsService {
int add(int a);
}
有配置扫包应该可以不用添加这个注解,本人怕出问题没有尝试,一直有加上这个注解@EnableDubbo
@EnableDubbo
@SpringBootApplication
public class AuthApplication {
public static void main(String[] args) {
SpringApplication.run(AuthApplication.class, args);
}
}
import com.alibaba.dubbo.config.annotation.Service; //注意使用duboo导包
import com.ronrun.service.ICsService ;
@Service
public class CsServiceImpl implements ICsService {
private int zhi = 1000;
@Override
public int add(int a) {
return zhi + a;
}
}
有配置扫包应该可以不用添加这个注解,本人怕出问题没有尝试,一直有加上这个注解@EnableDubbo
@EnableDubbo
@SpringBootApplication
public class AuthApplication {
public static void main(String[] args) {
SpringApplication.run(AuthApplication.class, args);
}
}
@RestController
public class CsController {
@Reference // 该注解是dubbo提供的
private ICsService csService ;
@GetMapping("/cs")
public String cs(int a) {
return "变化的值"+csService.add(a);
}
}
简单粗暴的配置,欢迎使用
启动时检查(check)
默认情况下dubbo是开启自动检查的,即当项目启动时会自动检查其依赖的服务是否开启,如果没开是会阻止spring的初始化的,即check=true;我们可以将check置为false来关闭启动时检查,如我们在测试或者对其他服务没有依赖的时候可以关闭检查;在springboot中我们可以进行如下配置来关闭启动时检查:
1、关闭某个服务的启动检查
在引用该服务的@Reference注解上添加check=false,即@Reference(check = false)
2、关闭所有服务的启动时检查
在application.properties中添加dubbo.consumer.check=false