- 首页 > 生活 > >
- 进一步改正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>
经验总结扩展阅读
-
-
-
-
-
-
-
过滤水壶是过滤开水还是自来水,滤水壶可以直接过滤开水吗?
-
-
为什么会长皮脂腺囊肿,耳垂有硬块正常吗?耳垂为什么会长硬疙瘩?
-
2022年10月26日粉刷墙壁黄道吉日 2022年10月26日粉刷墙壁行吗
-
-
-
-
-
-
本文转自:大庆晚报你有没有尝试过 情感实录∣纵然故事再多,也无法拼凑出完整的他
-
-
-
-
|西安地铁保安拖拽女乘客,处理结果公布:为什么我们依旧愤怒?