91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java常用開發框架使用方法

發布時間:2021-09-14 15:11:13 來源:億速云 閱讀:160 作者:柒染 欄目:編程語言

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

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

部分效果圖:

Java常用開發框架使用方法 Java常用開發框架使用方法 Java常用開發框架使用方法

技術選型

Seezoon Stack 采用當下最前沿前后端的技術棧完成。

后臺主要框架:

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

特性

  • JSR303 驗證、標準API模型,錯誤碼、異常處理封裝

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

  • Redis 封裝,序列化

  • RestTemplate 線程池、證書請求及默認屬性約定

  • Spring Boot 異步線程配置

  • 跨域支持

  • 基于openAPI 3.0 規范的自動生成文檔

  • 前后端一體化代碼生成

  • 登錄及權限控制

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

  • 國際化

  • 通用數據權限

  • 動態菜單&按鈕

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

  • 阿里云短信

  • Excel 處理

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

  • 云原生部署及編排文檔

前臺主要框架:

框架名稱框架地址說明
Vue 3https://v3.cn.vuejs.org/guide/introduction.html雙向綁定
Vitehttps://cn.vitejs.dev/構建工具
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/圖標庫

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

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

環境準備

  • 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 導入,也可以通過命令下載后導入。

建議fork 后到自己倉庫后再導入,方便后續同步更新。

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

工程結構

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

后臺

  • 初始化DB腳本

    腳本見db/seezoon-stack.sql

  • 配置seezoon-admin-server

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

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

  • IDEA中啟動后臺

執行如下類中Main方法(如果報依賴錯誤,可以執行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/


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

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


生產環境部署

線上目錄結構,

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

手工部署-后臺

線上環境安裝Java 1.8 + ,推薦11。

采用maven-assembly-plugin生成構建物,可以直接生成生產部署的目錄結構,方便DevOps 集成.

cd seezoon-admin-server
mvn clean package

產出物目錄

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

只需要維護產出物conf 目錄的application.properties 即可,然后就可以發布了。

配置文件與環境分離,maven-jar-plugin 打包產出物jar會排出resources目錄如下文件:

application-local.properties
logback-spring.xml

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

<img src="doc/pictures/image-20210423121842460.png" alt="image-20210423121842460" />

手工部署-前臺

cd seezoon-admin-web
yarn build

產出物

seezoon-admin-web/dist 中文件發布到線上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/;
    }
    # 文件服務
    location ^~ /file/ {
        access_log off;
        alias /data/upload-server/;
    }

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

}

可選靜態資源壓縮配置,放在nginx.conf http 節點下。

# 打開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]\.";

如何貢獻

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

Pull Request:

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

  2. 創建自己的分支: git checkout -b feat/xxxx

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

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

  5. 提交pull request

Git 貢獻提交規范

參考規范 (Angular)

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

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

丰顺县| 兖州市| 津市市| 桓仁| 晋宁县| 县级市| 凭祥市| 桑植县| 乐东| 天峨县| 沙田区| 庐江县| 涞源县| 峡江县| 咸阳市| 龙井市| 河源市| 靖远县| 双鸭山市| 平顶山市| 河北省| 涡阳县| 河南省| 平江县| 冕宁县| 志丹县| 中江县| 那曲县| 长沙市| 余干县| 苏尼特左旗| 平度市| 阿荣旗| 肃南| 嘉荫县| 依安县| 玉门市| 无棣县| 韩城市| 开化县| 五指山市|