MyGit

Xiao-Y/learn

Fork: 30 Star: 46 (更新于 2024-11-27 02:00:18)

license: Apache-2.0

Language: Java .

一个学习使用的综合项目。实现方案为spring cloud alibaba

最后发布版本: v3.3.0 ( 2021-12-17 17:57:39)

GitHub网址

配置文件获取

采用 nacos 做为配置中心及路由中心,所有配置文件都是从配置中心获取:nacos--->dev-->cloud-config.properties, 需要依赖 learn-cloud-common 模块

模块说明

1.公用组件

  • learn-cloud-common 获取配置中心配置文件,所有的 learn-cloud-* 都要依赖
  • learn-shop-base 包含:

learn-shop-base-aop aop 公用切面,统一数据格式返回,统一异常,日志打印,long 转前端 string。所有业务模块都要依赖

learn-shop-base-common mq 交换机、路由、队列的定义,reids、swagger2、线程池的配置,获取用户信息工具类,redis 操作和redis锁控制类。所有业务模块都要依赖

learn-shop-base-email 邮件发送配置。system 依赖

learn-shop-base-job 定时任务配置,api 提供。system 依赖

learn-shop-base-jpa jpa 配置,jpa 操作基本方法封装(弃用)

learn-shop-base-mybatis mybatis 配置,基本方法封装,代码生成器。所有操作数据库的都要依赖

learn-shop-base-tools 公用工具类方法

learn-shop-base-workflow 工作流式相关。system 依赖

2.核心服务,端口:87**

nacos 注册中心,分布式配置中心 端口:8761

learn-cloud-getaway 路由网关,端口:8771

3.后端业务服务,端口:88/89**

learn-shop-app app端,端口:8089

learn-shop-admin-user 用户管理服务,端口:8801

learn-shop-admin-system 系统管理服务,端口:8811

learn-shop-core-order 购物车服务,端口:8901

learn-shop-core-cart 购物车服务,端口:

learn-shop-core-product 购物车服务,端口:8911

learn-shop-core-search 搜索服务,端口:8981

learn-shop-core-promotion 促销服务,端口:8921

项目启动顺序

  • mysql
  • redis
  • rabbtimq
  • nacos (单机启动命令:./startup.sh -m standalone)
  • learn-cloud-getaway
  • 启动业务服务

访问:(通过路由)

  • 注册中心、配置中心:

http://localhost:8761/nacos/index.html

用户名/密码:nacos/nacos

  • 业务服务:

http://localhost:8771/core-order #订单相关

http://localhost:8771/admin-user #用户相关

  • RabbitMQ: 管理页面

http://localhost:15672

用户名/密码:admin/admin123

  • Swagger2: 管理页面

http://localhost:/swagger-ui.html(查看单个)

http://localhost:8771/swagger-ui.html(查看聚合)

或者进入注册中心点击实例链接直接查看

注意

  • 特别提醒:如果使用本地配置文件需要修改 learn-cloud-config 下的 resources 里面的 application.ymlsearch-locations 修改为本地路径

  • 添加新服务时,要在 learn-cloud-gateway 中添加路由表

  • 首次启动修改 learn-shop-admin-system.yml 中的 database-schema-update 为 true,自动建表

  • 首次启动修改 learn-shop-admin-system.yml 中的 start-init-data 为 true,加载缓存

core-order:
  path: /core-order/**
  serviceId: learn-shop-core-order
  • 使用配置中心时 配置中心启动时会向注册中心注册,这里注册中心还没启动会报异常,不用关心
  • 如果是 learn-cloud-* pom 中添加 learn-cloud-common 依赖
  • 如果是 learn-shop-admin-*learn-shop-core-* pom 中添加 learn-shop-base-common 依赖
  • 项目启动先要条件

RabbitMQ, rabbitmq-server.bat

添加新用户:admin 密码:admin123,修改admin用为超级管理员

查询所有用户:rabbitmqctl.bat list_users

添加新用户: rabbitmqctl.bat add_user username password

赋予用户权限:rabbitmqctl.bat set_user_tags username administrator

在admin中设定虚拟主机(virtual-host)为/learn-default

  • redis启动

  • swagger2注解 使用说明

  • 注入 RedisTemplate 需要通过 @Resource 明确指定。因为两个使用的库不同,mybatis 默认使用的 15 号库。

// 正常设值的
@Resource
private RedisTemplate<String, Object> redisTemplate;

// mybatis 设置缓存
@Resource
protected RedisTemplate<String, Object> redisCacheTemplate;
// 链路跟踪
-javaagent:D:\docker\SkyWalkIng\skywalking-agent\skywalking-agent.jar -Dskywalking.agent.service_name=learn-shop-core-product -Dskywalking.collector.backend_service=127.0.0.1:11800

其它

HTTP Method 与 CURD 数据处理操作对应

POST Create 新增一个没有id的资源

GET Read 取得一个资源

PUT Update 更新一个资源。或新增一个含 id 资源(如果 id 不存在)

DELETE Delete 删除一个资源

TODO

1.缓存的调整 2.订单释放 3.权限调整为权限码形式 4.后台管理首页修改为卡片形式

最近版本更新:(数据更新于 2024-09-15 11:14:43)

2021-12-17 17:57:39 v3.3.0

2021-08-13 12:13:16 v3.2.0

2021-02-03 16:46:39 3.1.0

2021-02-03 16:41:56 3.0.0

主题(topics):

nacos, oauth2, rabbitmq, redis, seata, spring-security, springcloud, springgateway, swagger2

Xiao-Y/learn同语言 Java最近更新仓库

2024-12-20 19:54:15 mybatis-flex/mybatis-flex

2024-12-19 21:53:46 spring-projects/spring-boot

2024-12-19 21:25:16 Stirling-Tools/Stirling-PDF

2024-12-19 16:28:14 Tornaco/Thanox

2024-12-19 10:42:01 alibaba/nacos

2024-12-18 20:58:34 dromara/forest