Spring Cloud敏捷開發框架

Spring Cloud敏捷開發框架

來自專欄 Java高級開發交流1 人贊了文章

Spring Cloud敏捷開發框架

SpringCloud敏捷開發框架?

gitee.com圖標

1、概述

  • 用來快速開發Spring Cloud項目
  • 前期會考慮:數據讀寫分離、資料庫各種基本操作、集成自己開發的消息服務、分散式業務調度服務、自動生成代碼、後台管理系統頁面框架

開發工具及相關技術:

  • Maven3.3.9
  • Jdk1.8
  • IntelliJ IDEA
  • Springboot2.0.4
  • Springcloud Finchley.SR1
  • Mybatis
  • Freemarker
  • ElasticJob
  • Sesjs

2、項目介紹

  • p-base:
    • p-base-comm:框架基礎庫
    • p-base-jdbc:資料庫操作組建,資料庫操作基類、主從分離、資料庫操作的各種工具方法等
    • p-base-jdbc-starter:p-base-jdbc的starter pom,若需要對資料庫進行操作,需在maven中引入該模塊
    • p-base-page:分頁組件
    • p-base-web:web項目的全局配置、工具等
    • p-base-web-starter: p-base-web的starter pom

  • p-code:
    • p-code-generate:代碼生成器
  • y-cloud:
    • p-cloud-discovery:服務註冊中心
    • p-cloud-gateway:服務網關

  • y-core: 表示一個業務模塊
    • p-core-comm:業務模塊公共類
    • p-core-service:業務模塊restful服務介面
    • p-core-api:p-core-service對外的feign介面類
    • p-core-api-starter:p-core-api的springstarter,其他模塊如果需要調用p-core-service中的服務,需在maven中引入該模塊
    • p-core-test:測試模塊,通過feign來調用p-core-service
    • p-core-admin: 後台管理系統

3、埠

  • p-cloud-discovery:7001
  • p-cloud-gateway:8001
  • p-core-service:9001
  • p-core-test:9002
  • p-core-admin:9003

4、啟動順序

  • p-cloud-discovery
  • p-cloud-gateway
  • p-core-service
  • p-core-test

5、運行示例

資料庫配置

  • 1、以mysql為例,在本地創建2個庫:ms_masterms_slave
  • 2、分別ms_master、ms_slave中執行腳本:資料庫初始化腳本

redis配置

p-core-admin:後台管理系統通過redis來解決session問題

redis配置信息見p-core-admin項目中的application.yml配置文件

spring: redis: host: 192.168.11.19 port: 6379 password: 123 database: 0 session: store-type: redis #使用redis存儲session信息 timeout: 3600 #session過期時間 redis: namespace: spring:session #redis中用於存儲session信息的命名空間 flush-mode: immediate #session信息刷新模式,immediate:立即刷新,on_save:http response提交之後刷新 cleanup-cron: 0 * * * * * #清理redis中過期session數據的job執行頻率,默認每分鐘執行一次

hosts文件配置

127.0.0.1 admin.ms.org static.ms.org

admin.ms.org:訪問p-core-admin

static.ms.org:訪問靜態資源,指向p-parent/static目錄

nginx配置

server { listen 80; server_name static.ms.org; root C:/Users/pc/IdeaProjects1/p-parent/static;}server { listen 80; server_name admin.ms.org; location / { proxy_pass http://127.0.0.1:9003/; }}

啟動應用

  • p-cloud-discovery
  • p-cloud-gateway
  • p-core-service
  • p-core-test
  • p-core-admin

訪問測試例子

  • 訪問p-core-test例子
  • 訪問p-core-admin

6、web集群session配置

目前項目中使用redis來解決集群session問題,如下:

  • 1、引入maven依賴

<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-redis</artifactId> </dependency></dependencies>

  • 2、配置application.properties

spring: redis: host: 192.168.11.19 port: 6379 password: 123 database: 0 session: store-type: redis #使用redis存儲session信息 timeout: 3600 #session過期時間 redis: namespace: spring:session #redis中用於存儲session信息的命名空間 flush-mode: immediate #session信息刷新模式,immediate:立即刷新,on_save:http response提交之後刷新 cleanup-cron: 0 * * * * * #清理redis中過期session數據的job執行頻率,默認每分鐘執行一次

  • 3、代碼中使用session

request.getSession().setAttribute("key",value);

注意:key必須是字元串格式,value必須實現java.io.Serializable介面,支持序列化

** 相關截圖

推薦閱讀:

親歷者說:敏捷?我被洗腦了嗎?
敏捷開發模式下,如何進行質量管理?
第12屆敏捷行業年度報告
敏捷開發過程中如何開發高質量的軟體
吳老講義:敏捷開發咋回事?(一)

TAG:SpringCloud | 敏捷開發 | 科技 |