架構(gòu)師必會:新項目如何技術(shù)選型以及落地實現(xiàn)

      網(wǎng)友投稿 1038 2025-03-31

      一、技術(shù)選型概述


      二、確定Spring家族依賴的版本號

      1.springcloud

      2.spring cloud alibaba

      3.springboot

      三、確定數(shù)據(jù)庫信息

      1.MySQL相關(guān)

      1.1 ?官網(wǎng)推薦,兼容性好

      1.2 ?Maven使用頻率較高:

      2.數(shù)據(jù)庫連接池

      2.1 ?Druid與C3P0的比較

      2.2 ?druid依賴的版本使用:1.2.6

      四、搭建整個工程

      1.父項目的pom依賴

      2.子模塊的依賴

      3.部分目錄結(jié)構(gòu)

      五、其他依賴

      推薦閱讀

      一、技術(shù)選型概述

      技術(shù)選型的基本原則:求穩(wěn),適當(dāng)求新。

      根據(jù)業(yè)務(wù)需求,選用B/S、微服務(wù)架構(gòu),使用Java作為后端開發(fā)語言,Vue作為前端開發(fā)。

      項目管理工具使用禪道,內(nèi)容管理工具使用Confluence,代碼協(xié)同工具使用Git,

      數(shù)據(jù)庫使用MySQL,緩存使用Redis,集成開發(fā)環(huán)境使用IDEA。

      之前用過的,建議依舊沿用。

      以上內(nèi)容只是根據(jù)業(yè)務(wù)確定。

      二、確定Spring家族依賴的版本號

      SpringBoot、SpringCloud、SpringCloud Alibaba皆選用官網(wǎng)最穩(wěn)定,最新版本。

      springcloud

      官網(wǎng)地址:https://spring.io/projects/spring-cloud#learn

      springcloudalibaba

      官網(wǎng)地址:https://spring.io/projects/spring-cloud-alibaba#learn

      springboot

      官網(wǎng)地址:https://spring.io/projects/spring-boot#learn

      SpringBoot選用2.3.12.RELEASE的原因是:SpringCloud Hoxton.SR12版本推薦使用 2.3.12.RELEASE版本。

      三、確定數(shù)據(jù)庫信息

      MySQL相關(guān)

      MySQL服務(wù)器的版本是5.6(之前安裝的繼續(xù)沿用)

      mysql依賴的版本使用:8.0.16

      1.官網(wǎng)推薦,兼容性好

      https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-versions.html

      https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-overview.html

      以下是?Connector/J 8.0的一些兼容性信息:

      JDBC版本:Connector/J 8.0實現(xiàn)JDBC 4.2。當(dāng)Connector/J 8.0與JDBC更高版本的庫一起工作時,對于僅由JDBC 4.3和更高版本支持的方法調(diào)用,它會返回SQLFeatureNotSupportedException。

      MySQL服務(wù)器版本:Connector/J 8.0支持MySQL 5.6、5.7和8.0。

      JRE版本:Connector/J 8.0支持JRE 8或更高版本。

      架構(gòu)師必會:新項目如何技術(shù)選型以及落地實現(xiàn)

      編譯需要JDK:編譯Connector/J 8.0需要JDK 8.0或更高版本。此外,在連接到MySQL服務(wù)器時,可能需要定制JSSE提供程序來使用一些更高版本的TLS和密碼套件

      強烈建議將 MySQL Connector/J 8.0 與 MySQL Server 8.0、5.7 和 5.6 一起使用。請升級到 MySQL Connector/J 8.0。

      2.Maven使用頻率較高:

      數(shù)據(jù)庫連接池

      Druid與C3P0的比較

      https://blog.csdn.net/promsing/article/details/113714712

      druid依賴的版本使用:1.2.6

      druid與druid-spring-boot-starter 的區(qū)別

      作用是一樣的,都是連接池提供連接,里邊的配置參數(shù)都是一樣的;

      druid-spring-boot-starter只是在druid基礎(chǔ)上進行了一次封裝,專門用來整合spring-boot項目;

      如果springboot項目想使用druid也是可以的,但是需要手動編寫配置類并注入到bean中,并加載對應(yīng)的配置參數(shù);

      但是不建議,明明有現(xiàn)成封裝好的jar,就直接使用就好了!!!

      四、搭建整個工程

      父項目的pom依賴

      4.0.0 com.tfjybj daily 1.0.0-SNAPSHOT pom org.springframework.boot spring-boot-starter-parent 2.3.12.RELEASE daily-statistics 8 8 2.3.12.RELEASE Hoxton.SR12 2.1.2.RELEASE 8.0.16 1.2.6 2.9.2 1.18.8 2.2.0 1.2.58 org.springframework.boot spring-boot-dependencies ${spring.boot.version} pom import org.springframework.cloud spring-cloud-dependencies ${spring.cloud.version} pom import com.alibaba.cloud spring-cloud-alibaba-dependencies ${spring.cloud.alibaba.version} pom import io.springfox springfox-swagger2 ${swagger.version} io.springfox springfox-swagger-ui ${swagger.version} com.alibaba fastjson ${fastjson.version} org.projectlombok lombok ${lombok.version}

      子模塊的依賴

      daily com.tfjybj 1.0.0-SNAPSHOT 4.0.0 daily-statistics 8 8 com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery com.alibaba.cloud spring-cloud-starter-alibaba-nacos-config org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-data-jpa org.springframework.boot spring-boot-starter-test mysql mysql-connector-java 8.0.16 com.alibaba druid-spring-boot-starter 1.2.6 io.springfox springfox-swagger2 io.springfox springfox-swagger-ui org.projectlombok lombok com.alibaba fastjson com.xuxueli xxl-job-core 2.0.2 org.springframework.boot spring-boot-maven-plugin 2.3.12.RELEASE

      nacos中的配置

      spring: datasource: type: com.alibaba.druid.pool.DruidDataSource druid: url: jdbc:mysql://mysql.xxx.tech/daily_prod username: roots password: roots filter: config: enabled: true #數(shù)據(jù)庫過濾器是否開啟 connect-properties: druid.statmergeSql: true #打開mergeSql功能 druid.stat.slowSqlMillis: 5000 #慢SQL記錄 config.decrypt: false #是否解密 config.decrypt.key: ${custom.publicKey} #解密的公鑰 jpa: hibernate: # 實體類發(fā)生改變,數(shù)據(jù)表會更新 ddl-auto: update # 操作實體對象的時候,會跟我們生成sql語句: false 不生成sql語句: show-sql: true

      Bootstrap中的配置

      server: port: 9000 spring: cloud: nacos: discovery: server-addr: nacos.xxx.tech:80 namespace: Daily-dev config: server-addr: nacos.xxx.tech:80 namespace: Daily prefix: statistics file-extension: yml application: name: Daily-statistics xxl: job: admin: addresses: http://xxljob.xxx.tech:8081/job-admin-dev #xxljob調(diào)度中心部署 例如:http://127.0.0.1:8080/xxl-job-admin executor: appname: daily-test #xxljob配置的執(zhí)行器名稱, ip: #執(zhí)行器IP,默認(rèn)為空表示自動獲取IP port: 9998 #xxljob配置的端口號,默認(rèn)為9999 logpath: /data/xxl-job/jobhandler #執(zhí)行器運行日志文件存儲磁盤路徑 logretentiondays: -1 #調(diào)度中心日志表數(shù)據(jù)保存天數(shù),過期日志自動清理;限制大于等于7時生效,否則, 如-1,關(guān)閉自動清理功能 accessToken: #調(diào)度中心通訊TOKEN [選填]:非空時啟用 logging: level: com.alibaba: warn

      3.部分目錄結(jié)構(gòu)

      五、其他依賴

      其他依賴的版本號:沒有仔細(xì)研究,使用我們其他項目中常用的。其實也可以直接去Maven官網(wǎng)上找。https://mvnrepository.com/

      或者去github社區(qū)看看活躍度。沒活躍度的就別用了,容易出錯,出錯不易解決。

      使用到了nacos做注冊中心,配置中心,配置過程請見博客:https://blog.csdn.net/promsing/article/details/121123765

      使用到了xxljob管理定時任務(wù),配置過程請見博客:https://blog.csdn.net/promsing/article/details/121322206

      使用到了sonarqube檢查代碼質(zhì)量,配置過程請見博客:https://blog.csdn.net/promsing/article/details/121567177

      對異常進行了統(tǒng)一處理,配置過程請見博客:https://blog.csdn.net/promsing/article/details/121655576

      Java MySQL Spring Spring Boot

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:如何將多個人名字表格(怎么把多個人的名字放到表格中)
      下一篇:UpdateData(TRUE)和UpdateData(FALSE)的區(qū)別
      相關(guān)文章
      亚洲一区二区三区国产精华液 | 亚洲第一街区偷拍街拍| 亚洲视频在线观看视频| 香蕉蕉亚亚洲aav综合| 在线亚洲精品自拍| 亚洲男人的天堂一区二区| 亚洲JIZZJIZZ中国少妇中文| 国产成人亚洲精品电影| 亚洲国产aⅴ综合网| 亚洲第一区精品观看| 亚洲国产中文字幕在线观看| 亚洲精品视频免费| 国产亚洲精品福利在线无卡一| 亚洲男同帅GAY片在线观看| 国产亚洲一区二区在线观看| 亚洲成AV人片在线观看无| 久久亚洲国产成人亚| 91亚洲精品视频| 亚洲xxxxxx| 亚洲精品无码av片| 国产大陆亚洲精品国产| 亚洲片一区二区三区| 亚洲精品无码专区在线在线播放| 亚洲va久久久噜噜噜久久天堂| 亚洲乱亚洲乱淫久久| 亚洲沟沟美女亚洲沟沟| 国产成人精品亚洲日本在线| 亚洲国产视频久久| 色偷偷亚洲男人天堂| 精品国产亚洲男女在线线电影| 亚洲精品少妇30p| 亚洲网站免费观看| 2020久久精品亚洲热综合一本| 亚洲精品GV天堂无码男同| 亚洲成a人片在线观看久| 亚洲伊人久久大香线蕉综合图片| 久久精品国产精品亚洲蜜月| 亚洲日产2021三区在线| 亚洲日韩精品无码专区加勒比| 亚洲av成人片在线观看| 中文亚洲成a人片在线观看|