您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Java常用開發框架使用方法,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
Seezoon Stack 以快速開發為目的,在開發速度和代碼結構上做出一定取啥,無論如何,你將看到非常地道的 Java 常用開發框架使用。
部分效果圖:
Seezoon Stack 采用當下最前沿前后端的技術棧完成。
后臺主要框架:
框架名稱 | 框架地址 | 說明 |
---|---|---|
Spring Boot | https://spring.io/projects/spring-boot | 自動裝配 |
Spring Session Data Redis | https://spring.io/projects/spring-session-data-redis | 登錄態管理 |
Spring Security | https://spring.io/projects/spring-security | 登錄及權限控制 |
Mybatis | https://mybatis.org/mybatis-3/zh/index.html | 持久層 |
Springfox | https://github.com/springfox/springfox | openAPI 3 文檔 |
JSR303 驗證、標準API模型,錯誤碼、異常處理封裝
請求埋點,返回頭添加X-Trace-Id
,通過MDC
在日志中埋入線程ID;
Redis 封裝,序列化
RestTemplate 線程池、證書請求及默認屬性約定
Spring Boot 異步線程配置
跨域支持
基于openAPI 3.0 規范的自動生成文檔
前后端一體化代碼生成
登錄及權限控制
文件處理,支持磁盤文件和阿里云OSS
國際化
通用數據權限
動態菜單&按鈕
優先級較低的功能(TODO):
阿里云短信
Excel 處理
微信公眾號、小程序相關,登錄,支付等常用封裝
云原生部署及編排文檔
前臺主要框架:
框架名稱 | 框架地址 | 說明 |
---|---|---|
Vue 3 | https://v3.cn.vuejs.org/guide/introduction.html | 雙向綁定 |
Vite | https://cn.vitejs.dev/ | 構建工具 |
Ant Design Vue 2 | https://2x.antdv.com/components/overview-cn/ | 組件 |
TypeScript 4 | https://www.typescriptlang.org/zh/ | JavaScript 超集 |
Windi Css | https://windicss.org/guide/ | css 輔助類 |
Iconify | https://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
在如下配置文件配置DB和Redis賬號密碼
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:
Fork 代碼! (同步上游:git pull https://github.com/734839030/seezoon-stack.git master)
創建自己的分支: git checkout -b feat/xxxx
提交你的修改: git commit -m 'feat(function): add xxxxx'
推送您的分支: git push origin feat/xxxx
提交pull request
參考規范 (Angular)
- `feat` 增加新功能 - `fix` 修復問題/BUG - `style` 代碼風格相關無影響運行結果的 - `perf` 優化/性能提升 - `refactor` 重構 - `revert` 撤銷修改 - `test` 測試相關 - `docs` 文檔/注釋 - `chore` 依賴更新/腳手架配置修改等 - `workflow` 工作流改進 - `ci` 持續集成 - `types` 類型定義文件更改 - `wip` 開發中
關于Java常用開發框架使用方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。