标签:utc iba body try zookeeper rri util linu lin
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<Student> getStudentList();
}
1、pom.xml所需依赖
<!--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>
<!--接口模块gav坐标-->
<dependency>
<groupId>com.interface</groupId>
<artifactId>interface</artifactId>
<version>1.0</version>
</dependency>
<!--mysql驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!--mybatis集成springboot起步依赖-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.4</version>
</dependency>
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<Student> 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<Student> getStuList(){
return userService.getStudentList();
}
}
启动类和服务提供者一样,需要在启动类上添加@EnableDubboConfiguration注解
首先启动服务提供者,然后启动服务消费者,根据@RequestMapping资源映射发起请求,结果如下
说明:SpringBoot集成dubbo,需要将tomcat服务器以及zookeeper注册中心安装在linux虚拟机中,此过程如有疑惑者,请查阅其他资料
标签:utc iba body try zookeeper rri util linu lin
原文地址:https://www.cnblogs.com/chenjiaxujava/p/14614491.html