SpringBoot---(3) Spring Boot 集成Dubbo

一、SpringBoot集成Dubbo分布式框架思路

1、接口工程:存放实体类bean和业务接口
2、服务提供者:业务接口的实现类并将服务暴露且注册到注册中心,调用数据库持久层
(1)添加依赖(Dubbo,注册中心,接口工程)
(2)配置服务提供者核心配置文件
3、服务消费者:处理浏览器客户端发送的请求,从注册中心调用服务提供者所提供的服务
(1)添加依赖(Dubbo,注册中心,接口工程)
(2)配置服务消费者核心配置文件

二、集成Dubbo的基本步骤:

1、创建好三个工程项目:
  • 接口工程(Maven工程)
    在这里插入图片描述

  • 服务提供者工程(SpringBoot Web工程)
    在这里插入图片描述

  • 服务消费者工程(SpringBoot Web工程)
    在这里插入图片描述

2、整理和修改服务提供者的pom.xml文件的依赖

添加Dubbo依赖、注册中心zookeeper的依赖,接口工程的依赖

<dependencies>
        <!--解决使用@ConfigurationProperties 注解出现警告问题-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>
        <!--SpringBoot框架web项目起步依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>


        <!--Dubbo集成SpringBoot框架起步依赖-->
        <dependency>
            <groupId>com.alibaba.spring.boot</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>2.0.0</version>
        </dependency>
        <!--注册中心-->
        <dependency>
            <groupId>com.101tec</groupId>
            <artifactId>zkclient</artifactId>
            <version>0.10</version>
        </dependency>
        <!--接口工程-->
        <dependency>
            <groupId>com.hcz</groupId>
            <artifactId>011-springboot-dubbo-interface</artifactId>
            <version>1.0.0</version>
        </dependency>

    </dependencies>

    <build>
        <plugins>

            <!--SpringBoot项目打包编译的插件-->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
3、配置服务提供者核心配置文件application.properties
#设置端口号
server.port=8081
#设置上下文跟
server.servlet.context-path=/


#设置Dubbo的配置
spring.application.name=012-springboot-dubbo-provider
#当前工程是一个服务提供者
spring.dubbo.server=true
#设置注册中心
spring.dubbo.registry=zookeeper://localhost:2181
4、整理和修改服务消费者的pom.xml文件的依赖

和步骤2一样

5、配置服务消费者核心配置文件application.properties
#设置端口号
server.port=8080
#设置上下文跟
server.servlet.context-path=/

#设置Dubbo的配置
spring.application.name=013-springboot-dubbo-consumer
#指定注册中心
spring.dubbo.registry=zookeeper://localhost:2181
6、在服务消费者项目中创建控制类方法

在这里插入图片描述

@Controller
public class StudentController {

    /**
     * 控制层调用业务层
     */
    private StudentService studentService;

    @RequestMapping(value = "/student/count")
    public @ResponseBody String studentCount(){

        Integer allStudentCount = studentService.queryAllStudentCount();
        return "学生总人数为:" + allStudentCount;
    }
}

这里引入了业务层接口StudentService,并在接口工程中创建这个接口类

7、在接口工程中创建接口类

在这里插入图片描述

public interface StudentService {
    /**
     * 获取学生总人数
     * @return
     */
    Integer queryAllStudentCount();

}
8、在服务提供者项目中实现该接口的实现类

在这里插入图片描述

@Component
@Service(interfaceClass = StudentService.class,version = "1.0.0",timeout = 15000)
public class StudentServiceImpl implements StudentService {
    @Override
    public Integer queryAllStudentCount() {
        //调用数据库持久层

        return 10;
    }
}

1、将该实现类注入到Spring容器,使用注解@Component而不是@Service注解
2、使用注解@Service将该接口实现类暴露出去(注意区别和以前的注入注解,这里的为@Service(com.alibaba.dubbo.config.annotation))

9、服务消费者引用暴露出来的接口实现类

使用注解@Reference引用暴露出来的接口实现类

在这里插入图片描述

10、在Application类中添加注解来开启Dubbo配置

在这里插入图片描述

11、开启zookeeper服务和注册中心服务

在这里插入图片描述
在这里插入图片描述

12、启动服务提供项目,然后再启动服务消费者项目

在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: Spring Boot 集成 Nacos 和 Dubbo3 可以按照以下步骤进行: 1. 首先,在 Spring Boot 项目中添加 Nacos 和 Dubbo3 的依赖项。可以使用 Maven 或 Gradle 等构建工具,将以下依赖项添加到项目中: ``` <!-- Nacos --> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> <!-- Dubbo3 --> <dependency> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo-spring-boot-starter</artifactId> <version>3.0.1</version> </dependency> ``` 2. 在应用程序主类上添加 @EnableDiscoveryClient 注解,以启用 Nacos 服务发现功能。例如: ``` @SpringBootApplication @EnableDiscoveryClient public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } ``` 3. 在 application.properties 或 application.yml 文件中配置 Nacos 服务注册中心的地址和端口,例如: ``` spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 ``` 4. 在 Dubbo 服务接口上添加 @DubboService 注解,以将服务注册到 Nacos 注册中心。例如: ``` @DubboService public class DemoServiceImpl implements DemoService { @Override public String sayHello(String name) { return "Hello " + name; } } ``` 5. 在 Dubbo 服务消费者中添加 @DubboReference 注解,以从 Nacos 注册中心中查找 Dubbo 服务。例如: ``` @RestController public class DemoController { @DubboReference private DemoService demoService; @GetMapping("/hello") public String hello(@RequestParam String name) { return demoService.sayHello(name); } } ``` 这些步骤将使您的 Spring Boot 应用程序能够集成 Nacos 和 Dubbo3,并使服务发现和消费变得更加容易。 ### 回答2: Spring Boot是一种基于Spring框架的开发工具,它简化了Spring应用程序的开发和部署过程。Nacos是一个开源的服务注册和发现中心,而Dubbo是一个高性能的分布式服务框架。下面是关于如何将Spring Boot集成Nacos和Dubbo 3的步骤: 1. 集成Nacos:首先,在pom.xml文件中添加Nacos和Spring Boot相关的依赖项。然后,在Spring Boot的配置文件中配置Nacos的地址、端口和其他相关配置信息。接下来,在Spring Boot启动类上添加@EnableDiscoveryClient注解,以启用Nacos的服务注册和发现功能。 2. 集成Dubbo 3:首先,在pom.xml文件中添加DubboSpring Boot相关的依赖项。然后,在Spring Boot的配置文件中配置Dubbo的注册中心地址、端口和其他相关配置信息。接下来,在需要暴露为Dubbo服务的类或接口上添加@DubboService注解,以将其作为Dubbo服务进行注册。同时,在需要调用Dubbo服务的类中添加@DubboReference注解,以引用Dubbo服务。 通过上述步骤,我们成功将Nacos和Dubbo 3集成Spring Boot应用程序中。这样,我们可以使用Nacos作为服务注册和发现中心,将Dubbo服务注册到Nacos,并通过Dubbo进行远程调用。这种集成能够极大地简化微服务架构中的服务注册、发现和远程调用过程,提高系统的可扩展性和灵活性。 ### 回答3: Spring Boot 是一个快速开发框架,它可以简化 Java 应用程序的构建过程。Nacos 是阿里巴巴开源的一款服务发现和配置管理工具,Dubbo 是阿里巴巴开源的一款高性能的分布式服务框架。 在 Spring Boot集成 Nacos 和 Dubbo3 非常简单。首先,我们需要在项目的 pom.xml 文件中引入相应的依赖。我们可以使用 spring-cloud-alibaba-dependencies 父级依赖管理来简化依赖的管理。 接下来,我们需要在 application.properties 文件中进行相应的配置。我们需要配置 Nacos 的服务注册中心地址和 Dubbo 的注册中心地址以及其他相关参数。 然后,我们需要创建 Dubbo 的服务提供者和消费者。服务提供者可以使用 @DubboService 注解将服务发布到 Dubbo 的注册中心,消费者可以使用 @DubboReference 注解引用服务。 最后,我们可以在 Spring Boot启动类中使用 @EnableDubbo 注解启用 Dubbo 功能,并运行 Spring Boot 应用程序。 通过以上步骤,我们就成功地集成了 Nacos 和 Dubbo3 到 Spring Boot 中。使用 Nacos 来进行服务的注册和发现,并使用 Dubbo3 来实现服务之间的远程调用。 总的来说,集成 Nacos 和 Dubbo3 可以帮助我们更好地构建和管理分布式系统,提高系统的可伸缩性和可维护性。同时,Spring Boot 作为一个快速开发框架,能够进一步简化我们的开发流程,提高开发效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@烟雨倾城ゝ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值