先看看这张图热热身:
ok:开始咯…
首先创建如图这个几个项目
然后在父级的pom中提供一个父级依赖:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.7.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.qcby</groupId>
<artifactId>dubbo_yundingzhiyi</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<!--依赖关系-->
<modules>
<module>service</module>
<module>provider</module>
<module>consumer</module>
</modules>
-
分别进行配置
-
首先配置service:在service项目中引入相关的依赖
-
这个文件主要提供的是一些实体和service
-
代码如下: public interface ILoginService { Boolean login(String UserName,String Pwd); }
-
引入相应的依赖
-
//引用父级依赖 <parent> <artifactId>dubbo_yundingzhiyi</artifactId> <groupId>com.qcby</groupId> <version>1.0-SNAPSHOT</version> </parent> <!--解决下面的dubbo.version报红--> <properties> <java.version>1.8</java.version> <dubbo.version>2.7.3</dubbo.version> <springboot.version>2.1.7.RELEASE</springboot.version> </properties> <modelVersion>4.0.0</modelVersion> <artifactId>service</artifactId> <dependencies> <dependency> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo-spring-boot-starter</artifactId> <version>${dubbo.version}</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </exclusion> </exclusions> </dependency> //这个依赖如果下面的starter的没有将这儿个依赖覆盖的话,就把这个注了, <!-- <dependency>--> <!-- <groupId>org.apache.dubbo</groupId>--> <!-- <artifactId>dubbo</artifactId>--> <!-- <version>${dubbo.version}</version>--> <!-- </dependency>--> <dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-framework</artifactId> <version>4.0.1</version> </dependency> <dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-recipes</artifactId> <version>2.8.0</version> </dependency> <!--starter依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <version>${springboot.version}</version> </dependency> </dependencies>
-
-
配置provider(提供角色)
2. //提供一个实现类
@Service
public class LoginServiceImpl implements ILoginService {
public Boolean login(String userName,String pwd){
System.out.println(userName);
System.out.println(pwd);
return true;
}
}-
然后配置zookpeer
- 在resource下面创建一个文件application.yml
-
dubbo: application: name: qcby-provider //这个是名字(自定义) registry: protocol: zookeeper address: zookeeper://127.0.0.1:2181 //zookeeper地址 protocol: name: dubbo port: 20881 scan: base-packages: com.qcby.provider.**.service //这个是扫描自己路径下面所有的包
-
添加依赖:
-
<groupId>com.qcby</groupId> <artifactId>provider</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <dependency> <groupId>com.qcby</groupId> <artifactId>service</artifactId> <version>1.0-SNAPSHOT</version> </dependency> </dependencies>
-
-
-
配置consumer消费角色
2. 首先在pom中添加依赖:-
//这个是引用的父级的那个依赖所以这是必须要加 <parent> <artifactId>dubbo_yundingzhiyi</artifactId> <groupId>com.qcby</groupId> <version>1.0-SNAPSHOT</version> </parent> <artifactId>consumer</artifactId> <dependencies> <dependency> <groupId>com.qcby</groupId> <artifactId>service</artifactId> <version>1.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>
-
然后在controller中 调用提供的方法
-
注意:这个一定要注意:这个@Reference 需要使用的Apache下的dubbo这个包千万不要引错了@Controller @RequestMapping("login") public class LoginController { @Reference private ILoginService loginService; @RequestMapping @ResponseBody public boolean index(){ return loginService.login("李四","123"); } }
- 配置application.xml文件(也就是配置一些端口和zookpeer配置)
-
注意:这儿需要知道这个前后关系必须分清楚,层级关系前面的空格不能省略dubbo: application: name: qcby-consumer registry: protocol: zookeeper address: zookeeper://127.0.0.1:2181 server: port: 80
-
-
-
当三个都配置完之后进行启动zookpeer
- 自己下载一个免安装版的,下载完之后就可以直接启动了
- 自己下载一个免安装版的,下载完之后就可以直接启动了
-
当zookpeer完之后,启动provider这个提供角色,然后启动consumer这个角色,先后顺序不要乱了,
-
这个就是启动成功了provider
-
这个是consumer自动完毕
-
然后在浏览器上面进行访问:
-
出现这个则启动成功
-
-
然后再给大家分享一个图:
瞬间是不是觉得自己就是个大佬了:欧耶…