真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Java常用開發(fā)框架使用方法

這篇文章將為大家詳細(xì)講解有關(guān)Java常用開發(fā)框架使用方法,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

創(chuàng)新互聯(lián)建站專注于蒲城網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供蒲城營銷型網(wǎng)站建設(shè),蒲城網(wǎng)站制作、蒲城網(wǎng)頁設(shè)計、蒲城網(wǎng)站官網(wǎng)定制、成都小程序開發(fā)服務(wù),打造蒲城網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供蒲城網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

Seezoon Stack快速開發(fā)為目的,在開發(fā)速度和代碼結(jié)構(gòu)上做出一定取啥,無論如何,你將看到非常地道的 Java 常用開發(fā)框架使用。

部分效果圖:

Java常用開發(fā)框架使用方法 Java常用開發(fā)框架使用方法 Java常用開發(fā)框架使用方法

技術(shù)選型

Seezoon Stack采用當(dāng)下最前沿前后端的技術(shù)棧完成。

后臺主要框架:

框架名稱框架地址說明
Spring Boothttps://spring.io/projects/spring-boot自動裝配
Spring Session Data redishttps://spring.io/projects/spring-session-data-redis登錄態(tài)管理
Spring Securityhttps://spring.io/projects/spring-security登錄及權(quán)限控制
Mybatishttps://mybatis.org/mybatis-3/zh/index.html持久層
Springfoxhttps://github.com/springfox/springfoxopenAPI 3 文檔

特性

  • JSR303 驗證、標(biāo)準(zhǔn)API模型,錯誤碼、異常處理封裝

  • 請求埋點(diǎn),返回頭添加X-Trace-Id,通過MDC在日志中埋入線程ID;

  • Redis 封裝,序列化

  • RestTemplate 線程池、證書請求及默認(rèn)屬性約定

  • Spring Boot 異步線程配置

  • 跨域支持

  • 基于openAPI 3.0 規(guī)范的自動生成文檔

  • 前后端一體化代碼生成

  • 登錄及權(quán)限控制

  • 文件處理,支持磁盤文件和阿里云OSS

  • 國際化

  • 通用數(shù)據(jù)權(quán)限

  • 動態(tài)菜單&按鈕

優(yōu)先級較低的功能(TODO):

  • 阿里云短信

  • Excel 處理

  • 微信公眾號、小程序相關(guān),登錄,支付等常用封裝

  • 云原生部署及編排文檔

前臺主要框架:

框架名稱框架地址說明
Vue 3https://v3.cn.vuejs.org/guide/introduction.html雙向綁定
Vitehttps://cn.vitejs.dev/構(gòu)建工具
Ant Design Vue 2https://2x.antdv.com/components/overview-cn/組件
TypeScript 4https://www.typescriptlang.org/zh/JavaScript 超集
Windi Csshttps://windicss.org/guide/css 輔助類
Iconifyhttps://iconify.design/圖標(biāo)庫

前端框架 fork Vue vben admin 2.0,定期會合并上游特性,具體組件請參考 Vben admin 文檔。在此也感謝Vben admin 對該項目提供的幫助。

前端主要采用Ant Design Vue 2 作為主要組件庫,降低學(xué)習(xí)成本,主體框架均為TypeScript,業(yè)務(wù)功能采用JavaScript編寫,針對快速開發(fā)JavaScript 代碼量較為簡潔,速度較快。

環(huán)境準(zhǔn)備

  • JDK 1.8 + (建議11)

  • Maven 3 +

  • Node 12 +

  • Yarn(安裝完node,可用npm install -g yarn

  • Redis

  • MySQL 5.7 + (建議8)

???? 快速開始

代碼下載

可以通過 IDEA File->New->Project From Version Control 導(dǎo)入,也可以通過命令下載后導(dǎo)入。

建議fork 后到自己倉庫后再導(dǎo)入,方便后續(xù)同步更新。

git clone https://github.com/734839030/seezoon-stack.git

工程結(jié)構(gòu)

```
.
└── seezoon-stack   parent工程
    ├── build 構(gòu)建所需文件
    │   ├── assembly    生成產(chǎn)出物結(jié)構(gòu)
    │   │   ├── bin     項目腳本
    │   │   ├── conf    配置目錄
    │   │   ├── logs    日志目錄
    │   │   └── assembly.xml     maven assembly 打包插件描述文件(不打包到產(chǎn)出物)
    │   ├── build.sh    構(gòu)建腳本
    │   ├── eclipse-codestyle.xml  P3C代碼格式,可以自行更新
    │   ├── maven-settings.xml     maven的setting配置(可選)
    │   └── mybatis-generator-config.xml  原生mybatis-generator 描述文件(可選)
    ├── db DB腳本目錄
    ├── doc 項目文檔及資料維護(hù)目錄
    ├── seezoon-admin-server  管理端服務(wù)
    ├── seezoon-admin-web  后臺頁面目前fork上游,代碼庫單獨(dú)維護(hù)穩(wěn)定后合并
    ├── seezoon-dao    DAO層,方便管理端和C端引用
    ├── seezoon-framework  管理端和C端通用框架層(基礎(chǔ)中間件,參數(shù)驗證,安全控制)
    ├── seezoon-generator  通用代碼生成器,可以單獨(dú)使用也可以供其他組件繼承使用
    └── seezoon-user-server  C端服務(wù)端TODO
```

后臺

  • 初始化DB腳本

    腳本見db/seezoon-stack.sql

  • 配置seezoon-admin-server

    在如下配置文件配置DBRedis賬號密碼

    seezoon-admin-server/src/main/resources/application-local.properties

  • IDEA中啟動后臺

執(zhí)行如下類中Main方法(如果報依賴錯誤,可以執(zhí)行parent 工程mvn package)

seezoon-admin-server/src/main/java/com/seezoon/admin/AdminMain.java

前臺

  • 安裝依賴并啟動

    cd seezoon-stack/seezoon-admin-web
    yarn install
    yarn serve 
    
    # 訪問地址
    http://localhost:3100/

  • 本地測試文件服務(wù)器(可選)

    cd seezoon-admin-web/test/server/upload
    yarn install
    yarn start
    
    # 管理端上傳文件后,可以直接訪問地址static目錄靜態(tài)文件
    http://localhost:3001/static/xxxx

生產(chǎn)環(huán)境部署

線上目錄結(jié)構(gòu),

/data/
│── cert
├── seezoon-admin-server  # 后臺產(chǎn)出物
│   ├── bin
│   ├── conf
│   ├── logs
│   └── work
├── seezoon-admin-web    # 前端產(chǎn)出物
│   ├── assets
│   └── resource
└── upload-server  文件上傳目錄,默認(rèn)使用磁盤文件,使用OSS則不需要.

手工部署-后臺

線上環(huán)境安裝Java 1.8 + ,推薦11。

采用maven-assembly-plugin生成構(gòu)建物,可以直接生成生產(chǎn)部署的目錄結(jié)構(gòu),方便DevOps 集成.

cd seezoon-admin-server
mvn clean package

產(chǎn)出物目錄

seezoon-admin-server/target/seezoon-admin-server

只需要維護(hù)產(chǎn)出物conf 目錄的application.properties 即可,然后就可以發(fā)布了。

配置文件與環(huán)境分離,maven-jar-plugin 打包產(chǎn)出物jar會排出resources目錄如下文件:

application-local.properties
logback-spring.xml

如果不介意各個環(huán)境配置都在工程中那就很方便,使用spring boot 提供的--spring.profiles.active,在啟動命令中選擇配置文件。

image-20210423121842460

手工部署-前臺

cd seezoon-admin-web
yarn build

產(chǎn)出物

seezoon-admin-web/dist 中文件發(fā)布到線上nginx 目錄即可,該工程nginx 配置如下,僅供參考。

upstream seezoon-admin-server {
    server 127.0.0.1:8080 max_fails=3 fail_timeout=10s;
}

server {
    listen       80;
    server_name  stack.seezoon.com;
    rewrite ^(.*)$  https://$host$1 permanent;
}

server {
    listen       443;
    server_name  stack.seezoon.com;
    ssl on;
    ssl_certificate   /data/cert/stack.seezoon.com.pem; 
    ssl_certificate_key  /data/cert/stack.seezoon.com.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;

    # api
    location ^~ /api/ {
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Real-PORT $remote_port;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://seezoon-admin-server/;
    }
    # 文件服務(wù)
    location ^~ /file/ {
        access_log off;
        alias /data/upload-server/;
    }

    # 靜態(tài)資源
    location / {
        access_log off;
        root /data/seezoon-admin-web/;
        index index.html index.htm;
    }

}

可選靜態(tài)資源壓縮配置,放在nginx.conf http 節(jié)點(diǎn)下。

# 打開gzip 效果更佳
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 6;
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_vary off;
gzip_disable "MSIE [1-6]\.";

如何貢獻(xiàn)

非常歡迎你的加入!提一個 Issue 或者提交一個 Pull Request。

Pull Request:

  1. Fork 代碼! (同步上游:git pull https://github.com/734839030/seezoon-stack.git master)

  2. 創(chuàng)建自己的分支: git checkout -b feat/xxxx

  3. 提交你的修改: git commit -m 'feat(function): add xxxxx'

  4. 推送您的分支: git push origin feat/xxxx

  5. 提交pull request

Git 貢獻(xiàn)提交規(guī)范

參考規(guī)范 (Angular)

- `feat` 增加新功能
- `fix` 修復(fù)問題/BUG
- `style` 代碼風(fēng)格相關(guān)無影響運(yùn)行結(jié)果的
- `perf` 優(yōu)化/性能提升
- `refactor` 重構(gòu)
- `revert` 撤銷修改
- `test` 測試相關(guān)
- `docs` 文檔/注釋
- `chore` 依賴更新/腳手架配置修改等
- `workflow` 工作流改進(jìn)
- `ci` 持續(xù)集成
- `types` 類型定義文件更改
- `wip` 開發(fā)中

關(guān)于Java常用開發(fā)框架使用方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。


本文名稱:Java常用開發(fā)框架使用方法
文章網(wǎng)址:http://weahome.cn/article/ipcjcs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部