SpringBoot集成Dubbo

2021-06-06 12:03

阅读:500

标签:utc   iba   body   try   zookeeper   rri   util   linu   lin   

SpringBoot集成dubbo简单测试:查询所有学生数据

一、定义接口模块

1、定义学生实体bean

package com.inter.pojo;
import java.io.Serializable;

public class Student implements Serializable {
	private Integer id ;
	private String stuName ;
	private Integer age ;
	// 省略get、set方法
}

2、定义业务层接口

package com.inter.service;
import com.inter.pojo.Student;
import java.util.List;

public interface UserService {
	List getStudentList();
}

二、SpringBoot服务提供者模块

1、pom.xml所需依赖

    
    org.springframework.boot
        spring-boot-starter-web
    com.alibaba.spring.boot
        dubbo-spring-boot-starter
        2.0.0com.101tec
        zkclient
        0.10com.interface
        interface
        1.0mysql
        mysql-connector-java
    org.mybatis.spring.boot
        mybatis-spring-boot-starter
        2.1.4

2、在application.properties中配置应用上下文端口号、地址,数据源信息,dubbo相关配置

设置端口号,上下文路径
server.port=8081
server.servlet.context-path=/

配置数据源
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/springboot?useSSL=true&characterEncoding=utf8&useUnicode=true&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root

指定mapper.xml文件的位置
mybatis.mapper-locations=src/main/resources/mapper/*.xml

指定应用模块名称
spring.application.name=provider
该模块是dubbo服务提供者
spring.dubbo.server=true
指定注册中心地址
spring.dubbo.registry=zookeeper://192.168.202.128:2181

3、编写代码
首先得了解两个重要的注解:
@Service,暴露服务提供者的服务,该注解不是Spring中的注解,而是dubbo提供的注解
@EnableDubboConfiguration,扫描SpringBoot启动类下dubbo提供的注解(没有它@Service标识的服务不会被注册到注册中心)

@Component // 将实例装载进容器中
@Service(interfaceClass = UserService.class)
public class UserServiceImpl implements UserService {

	@Autowired
	private UserMapper userMapper ;

	@Override
	public List getStudentList() {

		return userMapper.getStudentList();
	}
}

说明:Mybatis持久层代码简单,此处不予列出!

启动类:

@SpringBootApplication
@EnableDubboConfiguration  // 开启识别dubbo的注解
public class DemoApplication {

	public static void main(String[] args) {
		SpringApplication.run(DemoApplication.class, args);
	}
}

三、服务消费者

1、pom.xml所需依赖:服务提供者的所需依赖,去除数据源后的依赖
2、application.properties配置

设置端口号,上下文根路径
server.port=8082
server.servlet.context-path=/

应用名称
spring.application.name=consumer
指定注册中心
spring.dubbo.registry=zookeeper://192.168.202.128:2181

3、进行消费:获取服务提供者提供的服务
首先得知道的一个注解:@Reference,dubbo提供的注解,用来引用服务提供者提供的接口实现类

@Controller
@RequestMapping("/user")
public class UserController {

	@Reference(interfaceClass = UserService.class)
	private UserService userService ;

	@RequestMapping("/list")
	@ResponseBody
	public List getStuList(){
		return userService.getStudentList();
	}
}

启动类和服务提供者一样,需要在启动类上添加@EnableDubboConfiguration注解

四、测试

首先启动服务提供者,然后启动服务消费者,根据@RequestMapping资源映射发起请求,结果如下
技术图片

说明:SpringBoot集成dubbo,需要将tomcat服务器以及zookeeper注册中心安装在linux虚拟机中,此过程如有疑惑者,请查阅其他资料

SpringBoot集成Dubbo

标签:utc   iba   body   try   zookeeper   rri   util   linu   lin   

原文地址:https://www.cnblogs.com/chenjiaxujava/p/14614491.html


评论


亲,登录后才可以留言!