- 首页 > 生活 > >
- 进一步改正dubbo框架中简单的直连式的不足
- 需要用到3个相互独立的maven工程,项目1为maven的java工程作为接口工程,项目2,3为maven的web工程
工程1:o3-link-interface 作为接口工程工程2:o4-link-userservice-provider 作为服务的提供者工程3:o5-link-consumer 作为使用服务的消费者
工程1
- 结构:与简单的直连式不同的是,引入了接口工程,将实体类和所提供的服务的接口放在接口工程里

文章插图
- pom文件
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example.dubbo</groupId><artifactId>o3-link-interface</artifactId><version>1.0.0</version><packaging>jar</packaging><build><plugins><!--JDK1.8编译插件--><plugin><artifactId>maven-compiler-plugin</artifactId><version>3.1</version><configuration><source>1.8</source><target>1.8</target></configuration></plugin></plugins></build></project>
- 实体类:注意要实现序列化接口,数据需要通过socket网络传输
package com.example.dubbo.model;import java.io.Serializable;public class User implements Serializable {private String id;private String name;private String age;@Overridepublic String toString() {return "User{" +"id='" + id + '\'' +", name='" + name + '\'' +", age='" + age + '\'' +'}';}public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getAge() {return age;}public void setAge(String age) {this.age = age;}public User(String id, String name, String age) {this.id = id;this.name = name;this.age = age;}public User() {}}
- 服务接口:
package com.example.dubbo.service;import com.example.dubbo.model.User;public interface UserService {/*** 根据用户id,获取用信息*/User queryUserById(String id);}
工程2
- 结构

文章插图
- pom文件:要引入接口工程的依赖,知道要对哪些待提供的服务进行实现
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example.dubbo</groupId><artifactId>o4-link-userservice-provider</artifactId><packaging>war</packaging><version>1.0.0</version><dependencies><!-- Spring依赖 --><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>4.3.16.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>4.3.16.RELEASE</version></dependency><!-- dubbo依赖 --><dependency><groupId>com.alibaba</groupId><artifactId>dubbo</artifactId><version>2.6.2</version></dependency><!-- 接口工程 --><dependency><groupId>com.example.dubbo</groupId><artifactId>o3-link-interface</artifactId><version>1.0.0</version></dependency></dependencies><build><plugins><!--JDK1.8编译插件--><plugin><artifactId>maven-compiler-plugin</artifactId><version>3.1</version><configuration><source>1.8</source><target>1.8</target></configuration></plugin></plugins></build></project>
经验总结扩展阅读
-
-
-
-
天涯明月刀手游2021年3月1日每日一题答案是什么
-
-
-
-
-
-
-
-
国庆节期间 国庆节最火新娘,身上挂60个大金镯子,网友酸了:太俗气!
-
-
2022年10月17日是祭祀灶神的黄道吉日吗 2022年农历九月廿二祭祀灶神吉日
-
公积金贷款利率下调后还贷也会变吗 公积金贷款的注意事项有哪些
-
|在这种家庭长大的好女孩,十有八九会被渣男套牢,如魔咒一般
-
2019年10月出生的人命好吗?10月出生的宝宝性格好不好?
-
-
2023年农历正月初五宜打猎吗 2023年1月26日打猎黄道吉日
-