# moon-framework-samples **Repository Path**: bhdweb/moon-framework-samples ## Basic Information - **Project Name**: moon-framework-samples - **Description**: moon-framework的配套demo样例,针对 moon-framework框架的每个一个starter都编写了一个samlpe-demo。如果想深入了解moon-framework框架,可以从此处入手 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2021-05-30 - **Last Updated**: 2022-07-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # moon-framework-samples ### 目的 在基于Spring boot/cloud的微服务项目中,要创建若干module,每个module或多或少都集成一些第三方依赖(如:Redis、mybatis)和一些基础工具类等等, 而这些工作往往都是重复劳动,对于初学者来说还有一定的上手门槛。 因此本项目通过一定的规则来统一编写各种依赖的starter,方便在企业内部进行规则的统一,配置的统一,用法的统一,监控的统一,部署的统一,同时分离通用框架代码和业务代码的耦合,提炼公共服务配置和工具,进一步的简化Spring Boot和Spring Cloud的使用。 ## 特别说明 对于同类型的框架,github和gitee有太多优秀的项目了,但我为什么还要重复造一个呢?原因如下: - 加深自已对这方面技术的理解 - 从业这么多年,一直也没有系统性的留下什么东西,moon这一系列的项目算是对自已从业这么多年的一个总结,为以后留个念想 - 市场上所见过的这类型框架的starter,都是将代码分散地写在各自已的starter里,个人觉得这种作法对于纯开源项目是可取的,但对于企业如果想基于这个进行二次开发就不太友好了。代码过于分散,阅读、调试时需要切换多个module,维护成本高。本项目的做法是将所有java代码都按包结构隔离封装在`moon-framework-autoconfigure`里,各自starter只做配置`spring.factories` > 上面第三点纯属个人观点,不喜欢可以忽略 ## 项目名称moon由来 moon(广寒宫),为什么取这个名字呢?因为我家的嫦娥妹妹啊!!! ## 愿景 希望本项目越来越强大,基于更多的自动化配置和抽象,能在项目开发中节约更多的时间。 ## 项目结构 ``` ├── moon-framework-samples 项目父级目录 ├── moon-framework-sample-boot 基于springboot的各种web功能demo ├── moon-framework-sample-mybatis-plus 基于mybatis-plus的demo(数据权限过滤、基于行级(column)租户SaaS方式实现) ├── moon-framework-sample-dynamic-datasource 动态数据源的demo ├── moon-framework-sample-tenant 基于数据源(datasource)租户Saas方式实现demo ├── moon-framework-sample-oss 对象存储(本地文件、minio、七牛云)demo ├── moon-framework-sample-redis redis的封装(分布式缓存、分布锁、消息订阅发布mq) ├── moon-framework-sample-rabbitmq 基于rabbitmq的mqtt ├── moon-framework-sample-cloud Spring cloud脚手架(基于Spring Cloud Alibaba) ```