,      一、前言 

各位大佬应该知道,在大型项目中都需要有数据传输层,一般项目都采用的是MVC结构,如果有10个表,则会创建10个实体类,在各个层之间应该使用实体类传递数据;

在微服架构中,也许有很多个客户端,有的客户端可能会有数据访问层;有的客户端没有数据访问层;

假设现在有ABC三个客户端,A客户端负责提供数据,可能会写实体类;

B客户端调用A客户端controller的数据,传递到页面;因此不需要写数据访问层代码和业务层代码,但是这个时候如果你接受的A客户端数据返回的是一个对象,这个时候B在接受A数据的时候最好拿对象去接受,但是B没有数据访问层就没有写实体类,这个时候就比较难受了,你是创建实体类呢 还是不创建呢 ?因为是2个不同的项目,你创建了也不一定是和A一样的?怎么办呢?等会说?

同样的道理,C去调用B控制层的方法出数据给页面,也需要拿对象接受,又遇到不写数据访问层,不写传输层,不知道拿啥接值的问题?咋办嘞?

我们写个公共组件类,里面把整个大系统项目中所有的数据库表 都写一个映射的实体类,然后使用mvc命令或idea工具把整个项目 以打包为war包或jar包的形式 ,打入我们的maven仓库中,然后其他项目使用 的时候用 直接在pom中引用我们打好的依赖就ok了,强调一下大型系统项目中的这么干,如果你觉的麻烦,Holly稍后会介绍 不用对象传参的用法哦!技能多多,大家持续关注哈!

 二、使用idea工具或mysql数据库客户端工具SQLyog 连接虚拟机上docker下mysql容器中数据库,并创建表数据

       注意:要启虚拟机docker下的mysql容器才能使用哦,docker上安装mysql参照我的帖子哦,有图有真相!

  1. 开启虚拟机centos 7,然后使用xshell 查看docker上全部的容器

 

注意,要使用mysql,则需要启动docker上mysql所在的容器

2.查看已经启动的容器,发现我们mysql所在的容器并未启动,

3.启动mysql所在的容器

4.使用SQLyog链接数据或idea链接数据

5.创建数据库脚本

create table classes
(
cid int(10) not null AUTO_INCREMENT PRIMARY KEY ,
cname VARCHAR(20) NOT NULL
);
insert into classes(cname) VALUES ('KD59'),('KD66'),('KD67'); create table student
(
sid int(10) not null AUTO_INCREMENT primary KEY,
sname VARCHAR(20) NOT NULL ,
password VARCHAR(20) NOT NULL ,
subject VARCHAR(20) NOT NULL ,
result DOUBLE(10,2),
cid INT(10) not null REFERENCES classes(cid)
);
INSERT INTO student(sname, password, subject, result, cid) VALUES
('张三','','java',89.8,1),
('李四','','html',99.8,2),
('王五','','mysql',99.8,3);

三、创建公共组件案例项目

1.创建项目

2、选择创建项目方式,因为只是数据传输层的公共组件即数据表的映射类,因此只需要创建普通的maven项目即可

3、group命名,给模块起名字

4、选择我们的maven依赖地址

5.再次确定工程名和模块名

6.项目结构如下

7.创建Classes类

package cn.kgc.vo;
import java.io.Serializable;
public class Classes implements Serializable{
private Integer cid;
private String cname; public Classes() {
} public Classes(Integer cid, String cname) {
this.cid = cid;
this.cname = cname;
} public Integer getCid() {
return cid;
} public void setCid(Integer cid) {
this.cid = cid;
} @Override
public String toString() {
return "Classes{" +
"cid=" + cid +
", cname='" + cname + '\'' +
'}';
}
}

8.创建Student类

package cn.kgc.vo;

import java.io.Serializable;

public class Student implements Serializable{
private Integer sid;
private String sname;
private String password;
private String subject;
private Double result;
//外键列
private Classes classes; public Student() {
} public Student(Integer sid, String sname, String password, String subject, Double result, Classes classes) {
this.sid = sid;
this.sname = sname;
this.password = password;
this.subject = subject;
this.result = result;
this.classes = classes;
} public Integer getSid() {
return sid;
} public void setSid(Integer sid) {
this.sid = sid;
} @Override
public String toString() {
return "Student{" +
"sid=" + sid +
", sname='" + sname + '\'' +
", password='" + password + '\'' +
", subject='" + subject + '\'' +
", result=" + result +
", classes=" + classes +
'}';
}
}

9.使用idea工具进行打包到我们自己的maven仓库,

10.查看构建结构

到此公共组件构建完成,后面可以在pom中引入该依赖使用

此帖子为原创

作者:红酒人生

转载请注明出处:https://www.cnblogs.com/holly8/p/11011301.html

springcloud(四):Eureka客户端公共组件打包方式的更多相关文章

  1. spring-cloud配置eureka客户端

    spring-cloud配置eureka客户端 eureka用来发现其他程序 需要提前配置eureka服务端,具体看 https://www.cnblogs.com/ye-hcj/p/10292944 ...

  2. 浅谈SpringCloud (二) Eureka服务发现组件

    上面学习到了如何由一个程序访问另一个程序,那么如果使用SpringCloud来进行访问,该如何访问呐? 可以借助Eureka服务发现组件进行访问. 可以借助官方文档:https://spring.io ...

  3. springcloud(四)-Eureka Server集群

    Eureka Server的高可用 这一节我们接着上一节说. 有分布式应用开发经验的朋友应该发现,前文编写的单节点Eureka Server并不适合线上生产环境.Eureka Client会定时连接E ...

  4. F版本SpringCloud 4—Eureka注册中心开发和客户端开发

    源码地址:https://gitee.com/bingqilinpeishenme/Java-Tutorials 前言 通过前三篇文章,用大白话介绍了微服务和SpringCloud以及服务治理相关的概 ...

  5. webpack 多页面支持 & 公共组件单独打包

    webpack - 多页面/入口支持 & 公共组件单独打包 webpack系列目录 webpack 系列 一:模块系统的演进 webpack 系列 二:webpack 介绍&安装 we ...

  6. SpringCloud开发学习总结(四)—— 客户端负载均衡Ribbon

    通过上一章<SpringCloud开发学习总结(三)—— 服务治理Eureka>,我们已经搭建起微服务架构中的核心组件——服务注册中心(包括单点模式和高可用模式).同时还注册了一个服务,命 ...

  7. 一个技术汪的开源梦 —— 基于 .Net Core 的公共组件之 Http 请求客户端

    一个技术汪的开源梦 —— 目录 想必大家在项目开发的时候应该都在程序中调用过自己内部的接口或者使用过第三方提供的接口,咱今天不讨论 REST ,最常用的请求应该就是 GET 和 POST 了,那下面开 ...

  8. Net Core 的公共组件之 Http 请求客户端

    Net Core 的公共组件之 Http 请求客户端 想必大家在项目开发的时候应该都在程序中调用过自己内部的接口或者使用过第三方提供的接口,咱今天不讨论 REST ,最常用的请求应该就是 GET 和 ...

  9. webpack 多页面|入口支持和公共组件单独打包--转载

    转载自:http://www.jb51.net/article/117490.htm 本篇主要介绍:如何自动构建入口文件,并生成对应的output:公共js库如何单独打包. 多入口文件,自动扫描入口. ...

随机推荐

  1. [转]完整教程--idea使用git进行项目管理

    完整教程--idea使用git进行项目管理 第一部分: 安装 1. 下载地址:  https://git-scm.com/download/win; 如果速度慢, 使用 迅雷下载; 2. 点击安装, ...

  2. json-server的关系图谱详解(Relationships)

    json-server的关系图谱 json-server是非常好用的一款模拟REST API的工具,文档也很详细和全面.详情:json-server而其中的关系图谱是它非常强大的一个功能,可以非常方便 ...

  3. codevs1690 开关灯(线段树)

    1690 开关灯 USACO  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond     题目描述 Description YYX家门前的街上有N(2< ...

  4. [Apple开发者帐户帮助]七、注册设备(3)禁用或启用设备

    您可以禁用和启用设备,但不能从开发者帐户中删除它.您可以禁用不再用于开发或测试的设备.但是,这样做会使包含设备的配置文件无效,并且不会增加当年设备的总数. 所需角色:帐户持有人或管理员. 在“ 证书” ...

  5. 洛谷P1478 陶陶摘苹果(升级版)

    题目数据范围小,开两个数组手写冒泡应该也能过,不过和之前在牛客上的一题类似用结构体数组就好了,主要是注意用结构体数组的排序 题目 题目描述 又是一年秋季时,陶陶家的苹果树结了n个果子.陶陶又跑去摘苹果 ...

  6. Tornado集成Apscheduler定时任务

    熟悉Python的人可能都知道,Apscheduler是python里面一款非常优秀的任务调度框架,这个框架是从鼎鼎大名的Quartz移植而来. 之前有用过Flask版本的Apscheduler做定时 ...

  7. 【BZOJ3294/洛谷3158】[CQOI2011]放棋子(组合数+DP)

    题目: 洛谷3158 分析: 某OIer兔崽子的此题代码中的三个函数名:dfs.ddfs.dddfs(充满毒瘤的气息 显然,行与行之间.列与列之间是互相独立的.考虑背包,用\(f[k][i][j]\) ...

  8. [Luogu 1312] noip11 Mayan游戏

    [Luogu 1312] noip11 Mayan游戏 Problem: Mayan puzzle是最近流行起来的一个游戏.游戏界面是一个 7 行5 列的棋盘,上面堆放着一些方块,方块不能悬空堆放,即 ...

  9. 使用A*寻路小记

    前几天做另一个DEMO 要用实现自动寻路功能,看到普遍都是A* 学习了下 我的主循环代码: isFindEndPoint = false; //主循环 do { CreateOutSkirtsNode ...

  10. conda python虚拟环境

    #查看已安装的python包 conda list #查看当前有哪些虚拟环境 conda env list 或者 conda info -e #更新conda conda update conda # ...