1 Star 0 Fork 636

josewu2007 / ape-frame

forked from 经典鸡翅 / ape-frame 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
Apache-2.0

Ape Frame

基于SpringBoot开发的轻量级框架

star

✨项目简介

ape-frame,ape是“猿”的意思,正好符合我们程序猿的称号!我希望未来这个框架是专属于我们程序猿的首选开发框架。

一直想做一款适用于中小企业的轻量级快速开发框架,涵盖平时业务开发的常用场景,做到开箱即用。用户可根据自身情况选择组件来进行使用。采取组件化开发模式。

比如用户需要redis,则选择redis组件,需要websocket,则引入websocket组件,用户自身不需要再开发什么,只需要按照组件规则进行使用即可。

同时,有些经典的工具以及经典的设计模式代码,提供了大量实例参考,用户的业务场景一旦用到,就可以直接使用。

项目整体采用maven结构开发,封装了大量的模块,彼此解耦。满足用户日常开发需要。

希望大家可以帮忙点点Star,您的Star就是对我最大的支持。

🔥内置项目模块

ape-cloud

微服务模块更新中,目前具备以下模块

  • ape-cloud-eureka:eureka服务注册组件
  • ape-cloud-eureka-server:eureka服务端用于服务治理与服务发现
  • ape-cloud-home:用于微服务调用案例的首页微服务
  • ape-cloud-sku:用于微服务调用案例的sku微服务

ape-common

  • ape-common-job:分布式任务调度组件
  • ape-common-log:日志组件,提供日志切面自动记录及异步日志提升性能
  • ape-common-mybatisplus:采用Mybatisplus作为与数据库交互
  • ape-common-redis:缓存组件,提供基于redis的操作封装,redis分布式锁,guava的cache工具类
  • ape-common-starter:启动类组件,与启动类相关的功能,放到此组件处
  • ape-common-swagger:swagger组件,提供整体项目访问api的入口及方法文档
  • ape-common-test:测试组件,集成springboot-test,及代码单元测试,代码覆盖率,行覆盖率检测
  • ape-common-tool:常用的工具类组件,满足业务日常开发的各种需要,保障安全性,低入侵性
  • ape-common-web:web组件,提供统一异常处理,web模块转换,统一返回值
  • ape-common-websocket:websocket组件,提供一套带鉴权的websocket,引入即用,简单方便

ape-demo

demo里提供了大量的实例,教大家如何直接使用这个项目框架,大家在开发中,可以直接参考这个模块来建立自己的项目进行使用。 目前已经提供的示例功能

  • redis缓存使用
  • 链路追踪
  • 基于redis的延时任务实现方式
  • 基于guava的本地二级缓存封装
  • 分布式锁封装
  • 完整的一套crud流程
  • mapstruct的使用方式
  • 各种lambda常用表达式的用法
  • 设计模式的实际案例,工厂、建造者、策略、模板等
  • 项目启动预热,可预热缓存,单例对象,线程池等
  • 分布式任务的job的编写
  • websocket的使用
  • 线上,预发,测试等开发环境隔离
  • linux下打包部署
  • freemarker导出复杂word表单
  • 自定义banner

ape-dependencies

该模块为一个父pom模块,提供项目整体的maven包的锁定及规范,统一升级,统一引入。

💡内置功能

  • 做脚手架的意义
  • linux下安装mysql
  • 如何涉及一个项目模块,如何拆分
  • lombok演示及集成
  • 集成druid连接池及数据库连接监控
  • 集成Mybatisplus的优化器及拦截器
  • 统一数据库基础实体封装
  • 集成swagger,并自定义信息
  • easycode自动生成代码
  • 自定义banner
  • linux下安装redis
  • redistemplate集成
  • 封装redisutil
  • 项目启动自预热缓存
  • 手动封装一个分布式锁
  • 注解缓存集成
  • log4j集成
  • 基于disruptor的异步日志
  • freemarker实现复杂表单导出
  • 设计模式实战demo,模板模式,工厂模式,策略模式,构造者模式,过滤器模式
  • websocket集成+鉴权
  • 线上、预发、开发、测试环境的隔离
  • springboot-maven插件打包部署
  • httpclient的优化
  • 集成springboottest
  • 服务预热
  • 分布式任务调度xxljob集成

☀️添砖加瓦

欢迎大家提issue一起完善,以及提供各种宝贵建议,持续做成商业化开发框架。 如果您感觉我们的代码有需要优化的地方或者有更好的方案欢迎随时提pr。 可添加微信进行交流,鸡翅老哥会拉你进入项目群。

如果您想看完整的教学视频,可以加入粉丝群了解学习。

🐾贡献代码的步骤

  1. 在Gitee上fork项目到自己的repo
  2. 把fork过去的项目也就是你的项目clone到你的本地
  3. 修改代码
  4. commit后push到自己的库
  5. 登录Gitee在你仓库首页可以看到一个 pull request 按钮,点击它,填写一些说明信息,然后提交即可。 等待维护者合并
Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (properties) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

简介

基于springboot封装的轻量级开发框架,组件化模式开发,用户自由选择,开箱即用,选择即用,生态完整。可用于中小型公司项目的快速开发。如果你感兴趣,请帮忙点一个star,你的支持就是我我最大的动力。 展开 收起
Java
Apache-2.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/josewu2007/ape-frame.git
git@gitee.com:josewu2007/ape-frame.git
josewu2007
ape-frame
ape-frame
master

搜索帮助