springcloud(五):Eureka客戶端公共組件打包方式


,      一、前言   

      各位大佬應該知道,在大型項目中都需要有數據傳輸層,一般項目都采用的是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
   ('張三','123','java',89.8,1),
   ('李四','123','html',99.8,2),
   ('王五','123','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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM