11 Star 31 Fork 10

SpringCloud敏捷开发 / p-parent

Create your Gitee Account
Explore and code with more than 12 million developers,Free private repositories !:)
Sign up
This repository doesn't specify license. Please pay attention to the specific project description and its upstream code dependency when using it.
Clone or Download
contribute
Sync branch
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README

Spring Cloud敏捷开发框架

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

访问测试例子

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接口,支持序列化

** 相关截图

后台

Empty file

About

Cancel

Releases

No release

Contributors

All

Activities

Load More
can not load any more
1
https://gitee.com/likun_557/p-parent.git
git@gitee.com:likun_557/p-parent.git
likun_557
p-parent
p-parent
master

Search

14c37bed 8189591 565d56ea 8189591