1001-構建聚合工程

一、構建聚合工程

1.在idea中,右擊項目名稱 -- new -- module。

父工程的maven-pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<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>org.example</groupId>
    <artifactId>foodie-dev</artifactId>
    <version>1.0-SNAPSHOT</version>
    <!--
    1.創建完子工程,記得來檢查子模塊是否加入。
    -->
    <modules>
        <module>foodie-common</module>
        <module>foodie-pojo</module>
    </modules>
    <!--
    1.聚合工程可以分爲頂級項目(頂級工程、父工程)與子工程,兩者是父子繼承關係。
    子工程在maven裏成爲模塊(module),模塊之間是平級的,是可以相互依賴的。
    2.子模塊可以使用頂級工程裏所有的資源(依賴),子模塊如果要使用資源,必須構建依賴(構建關係)。
    3.一個頂級工程是可以由多個不同的子工程共同組合而成。
    -->
    <packaging>pom</packaging>
</project>

子工程的maven-pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<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">
    <parent>
        <artifactId>foodie-dev</artifactId>
        <groupId>org.example</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <!--所有的模塊的默認的打包方式:jar-->
    <!--<packaging>jar</packaging>-->
    <artifactId>foodie-common</artifactId>


</project>

注意:只有在父工程中【maven最右側】,maven  -->  install才能真正建立相互的依賴關係。

二、PDMan數據庫建模工具使用

開源的。項目經理、產品經理去外面談事情的時候,使用這樣的建模工具生成的表,專業性。

增量(推薦:在原表上做修改。表太多的情況,效率低。)、原量(建一個臨時表,然後再將原表刪除,重新創建一個表)。

建表時:儘量不要使用表名“user”,它在mysql中,尤其是高版本中,是關鍵字。

數據庫外鍵:

1,性能影響。

數據庫三範式中,有一個是強調數據的完整性,如果表和表之間有關係,需要使用外鍵。

完整性、數據的強一致性。但是分佈式大型項目裏面,較多地修改刪除更新,需要檢查數據的完整性,所以儘量移除外鍵。

2,熱更新

不停機進行維護。外鍵是強一致性的,如果進行項目更新,必須要重啓項目,達不到熱更新的效果。

3,降低耦合度

不需要外鍵,不是刪除外鍵,是物理的這層關係不需要了。

比如地址表裏面的userid,不需要建立物理外鍵,這個字段可以保留着。

4,數據分庫分表

分佈式數據庫,如果存在外鍵,不方便做分庫分表。尤其是隨着業務增多,表增多,導致外鍵非常多的時候,會給運維人員、DBA帶了來壓力。

如果是小型項目,外鍵可有可無。

三、創建SpringBoot項目

默認設置:在@SpringBootApplication裏面

SpringBoot是如何自動裝配的?爲什麼會使用內置的Tomcat去運行?如何去運行的?

詳情請見:課程:步驟一 · 2-12 SpringBoot自動裝配簡述

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章