🎯 Nepxion Permission is a permission system based on Spring Cloud with Nepxion Matrix AOP framework and Aquarius framework, and add permission control to microservice APIs 基于Spring Cloud的微服务注解式API权限框架
💢 Nepxion EventBus is a generic event dispatching component based on Google Guava with Spring framework AOP, support synchronous and asynchronous mode 基于Google Guava通用事件派发机制的事件总线组件,注解式发布订阅
🔱 Nepxion Coroutine is a coroutine-driven distribution framework based on Kilim + Promise JDeferred + Zookeeper + Spring Boot, support Nepxion Thunder, Dubbo, Motan 基于规则配置的集成RPC调用的协程分布式调用的聚合框架
dangdang elastic-job ext
ElasticJob 是一个分布式调度解决方案,由两个相互独立的子项目 ElasticJob Lite 和 ElasticJob Cloud 组成
xsd 提示文件
███ ██ ██████ ██████ ██████ ██ ███████
████ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ █████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████ ██████ ██████ ██████ ███████ ███████
Noodle Framework
的理念是打造基于DDD的安全开发框架,提供微服务一站式解决方案,容器优先/兼容Spring
与Service Mesh
的框架、最佳实践及DevOps
标准化流程。
noodle-framework = 基于DDD设计和开发 + 自带可治理的错误体系 + 扩展主流微服务框架 + 标准化
DevOps
流程
Noodle Boot Framework
是一个基于Spring Boot
的开发框架,专注于简化和加速企业级应用程序的开发过程。它提供了一系列功能强大的模块和starter,帮助开发者快速集成常见组件和实现复杂的业务需求。
这个框架总体上提供了一套完整的解决方案,用于快速开发和扩展Spring Boot应用程序。以下是它的主要特点和优势:
模块化设计: 框架通过多个模块的方式组织功能,每个模块专注于特定的领域或需求,如数据访问、安全、服务集成等,使得开发者可以根据需求选择性集成,避免不必要的依赖。
功能丰富: 框架涵盖了从基础的工具类、数据访问、到复杂的文件存储、消息队列集成等多种功能。这些功能模块化设计使得在实际项目中可以灵活应用,提高开发效率。
与Spring Boot集成: 框架与Spring Boot深度集成,利用Spring Boot的自动配置和约定优于配置的原则,简化了配置和部署过程,减少了开发人员的工作量。
开箱即用: 框架提供了许多starter模块,这些模块已经预先配置好常见的组件和依赖项,开发者可以直接引入并开始使用,而无需从头编写配置和集成代码。
扩展性强: 框架支持自定义扩展,例如通过自定义starter模块或者在现有模块的基础上进行定制化开发,满足特定项目的需求,同时保留了良好的灵活性和可维护性。
文档和支持: 框架提供了详细的文档和示例,帮助开发者快速上手和解决问题。同时,如果遇到困难或需要帮助,可以借助文档的支持和开发者的互动获取技术支持。
总的来说,这个框架适用于需要快速开发、高效集成和可扩展性的项目,特别是基于Spring Boot的企业级应用程序开发。
适用于需要快速开发、高效集成和灵活扩展的企业级应用项目。
import org.noodle.framework.boot.AbstractApplicationBootBuilder;
import org.noodle.framework.boot.autoconfigure.NoodleBootApplication;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.NoodleBeanNameGenerator;
@NoodleBootApplication
@ComponentScan(nameGenerator = NoodleBeanNameGenerator.class,basePackages = {"org.noodle.framework.examples"})
public class Application extends AbstractApplicationBootBuilder {
public static void main(final String[] args) {
Application noodleBootApplicationExample = new Application();
noodleBootApplicationExample.setTimezone("GMT+08");
//noodleBootApplicationExample.setAllowCircularReferences(true);
noodleBootApplicationExample.run(args);
}
// 其他配置和组件注入
}
通过以上结构和要点,可以清晰地介绍框架的核心特点和优势,为读者提供了全面的了解和入门指南。
一个基于Spring Boot
实现的脚手架。所实现功能如下:
模块 | 核心功能说明 | 实现 | 其它说明 |
---|---|---|---|
noodle-boot-dependencies | 依赖管理组件,管理所有依赖的版本 | ✔ | -- |
noodle-boot-starter-spi | SPI 插件加载、扩展 | ✔ | |
noodle-common | 工具类以及整体架构一些规范性定义 | ✔ | -- |
noodle-boot-starter | web参数格式化处理、异步任务执行器、跨域请求、统一异常定义、求及响应日志记录、web参数校验等Spring工厂以及一些相关工具类、配置二次处理、一些运行机制规范定义 | ✔ | -- |
noodle-boot-starter-actuator | 系统健康检查 | ✔ | -- |
noodle-boot-starter-data-jdbc | 数据连接池配置,支持数据库检查自动创建、分布式事物自动识别 | ✔ | -- |
noodle-boot-starter-mybatis-plus | mybatis-plus 扩展模块,支持自动创建数据库、多数据源、分布式事物、分页插件自动识别注册 | ✔ | -- |
noodle-boot-starter-mybatis-mapper | tk.mybatis 扩展模块,支持自动创建数据库、多数据源、分布式事物、分页插件自动识别注册 | ✔ | -- |
noodle-boot-starter-datascope | 数据权限 | ✔ | -- |
noodle-boot-starter-xcola | 策略模式扩展自动装配 | ✔ | -- |
noodle-boot-starter-file-storage | 文件存储适配,目前支持:minio、七牛、阿里云、腾讯云、华为云、AWS的文件存储服务 | ✔ | 支持本地、FTP存储 |
noodle-boot-starter-minio | minio文件上传 | ✔ | 支持国密加密存储、存储规则(DATE、HASHCODE) |
noodle-boot-starter-i18n | 国际化基础组件 | ✔ | |
noodle-boot-starter-data-elasticsearch-6.x | 支持6.X版本的elasticsearch自动装配 | ✔ | 解决低版本ES适配高版本Spring Boot |
noodle-boot-starter-elasticsearch-client | 支持基于官方的 Elasticsearch API 自动装配 | ✔ | 2.7.x 版本已经引入了 ElasticsearchClient,并封装了新的客户端 ElasticsearchTemplate,但是并没有为其做自动装配 |
noodle-boot-starter-elasticsearch-migration | ES 数据脚本管理工具,工作方式与 Flyway 类似 | ✔ | 管理并跟踪Elasticsearch变更,支持Elasticsearch数据版本自动升级 |
noodle-boot-starter-flywaydb-plugin | Flyway国产数据库适配 | ✔ | flyway支持DM扩展插件 |
noodle-boot-starter-kafka | Kafka主题管理 | ✔ | 支持kafka 通过配置方式自动创建主题功能 |
noodle-boot-starter-statemachine | 状态机 | ✔ | 管理复杂状态流转 |
noodle-boot-starter-data-parsing | 规则引擎,数据解析(Data Parsing)数据格式转换 | ✔ | 处理字段自定义映射解析,规则执行 |
noodle-boot-starter-data-plugins | 插件装配,可以针对系统初始化做一些业务处理,也可以停止系统时做相关业务处理,调用业务方法时扩展了前置处理器、后置处理器方便业务灵活扩展组装各类业务插件 | ✔ | |
noodle-boot-starter-quartz | Quartz定时任务 | ✔ | |
noodle-boot-starter-xss | xss攻击防护 | ✔ | 增加SPI扩展机制,可以自定义过滤策略 |
noodle-boot-starter-event | 事件总线模块 | ✔ | |
noodle-boot-starter-validation | 参数校验扩展 | ✔ | |
noodle-boot-starter-sign | 签名验证 | ✔ | |
noodle-boot-starter-trace | 基于Spring AOP的应用程序运行轨迹追踪记录框架模块 | ✔ | |
noodle-boot-starter-gateway | Gateway 网关模块 | ✔ | 文档 |
noodle-boot-starter-openfeign | feign调用SSL证书认证扩展 | ✔ | 文档 |
|- framework
|- |- noodle-boot-dependencies -- 依赖管理组件,管理所有依赖的版本
|- |- noodle-parent-starter -- 父Pom模块
|- |- noodle-boot-test -- 单元测试
|- |- noodle-boot-starter-core -- 核心工具core
|- |- noodle-boot-starter -- 核心组件,包含SpringBoot Web相关依赖
|- |- noodle-boot-starter-actuator -- 系统健康检查
|- |- noodle-plugins-boot-starter -- 插件扩展模块
|- |- noodle-boot-starter-data-pagehelper -- 分页插件
|- |- noodle-boot-starter-data-jdbc -- jdbc
|- |- noodle-boot-starter-data-elasticsearch-6.x -- 支持6.X版本的elasticsearch自动装配
|- |- noodle-boot-starter-data-solr -- solr 检索引擎
|- |- noodle-boot-starter-data-csv -- csv 文件操作扩展
|- |- noodle-boot-starter-data-easyexcel -- 通过注解快速导入导出excle
|- |- noodle-boot-starter-data-kettle -- etl 离线脚本转换
|- |- noodle-boot-starter-aliyun-oss -- aliyun-oss 文件服务
|- |- noodle-boot-starter-minio -- minio 文件服务
|- |- noodle-boot-starter-httpclient -- httpclient 接口调用服务
|- |- noodle-boot-starter-swagger2 -- swagger2 接口文档
|- |- noodle-boot-starter-geoip -- geoip
|- |- noodle-boot-starter-xss -- xss 防注入相关
|- |- noodle-boot-starter-i18n -- 国际化基础组件
|- |- noodle-boot-starter-file-storage -- 文件上传 FTP or Local
|- |- noodle-boot-starter-quartz -- quartz 基础组件
|- |- noodle-boot-starter-script -- 实现在JVM中运行一些解释型语言,如Groovy、Python、JS、Ruby、SPEL等
|- |- noodle-boot-starter-prometheus -- prometheus 集成
|- |- noodle-boot-starter-factory -- factory 工厂模式
|- |- noodle-boot-starter-xcola -- xcola 策略模式
|- |- noodle-boot-starter-trace -- 基于Spring AOP的应用程序运行轨迹追踪记录框架
|- |- noodle-boot-starter-mybatis-spring -- mybatis-spring 扩展模块
|- |- noodle-boot-starter-mybatis-plus -- mybatis-plus 扩展模块
|- |- noodle-boot-starter-mybatis-mapper -- tk.mybatis 扩展模块
|- |- noodle-dynamic-datasource-starter -- 多数据源
|- |- noodle-boot-statemachine-core -- spring 状态机
|- |- noodle-boot-starter-event -- 事件总线
|- |- noodle-boot-starter-gateway-core -- gateway 核心core
|- |- noodle-boot-starter-gateway -- gateway 网关
|- |- noodle-boot-starter-spi -- spi 插件加载核心core
|- |- noodle-boot-starter-statemachine -- 状态机
|- |- noodle-boot-starter-datascope -- 数据权限
|- |- noodle-boot-starter-kafka -- kafka 自动装配
|- |- noodle-boot-starter-mybatis-encrypt-plugin -- 敏感数据加解密以及数据脱敏mybatis插件
|- |- noodle-boot-starter-data-parsing -- 数据解析(Data Parsing)数据格式转换
|- |- noodle-boot-starter-data-plugins -- 插件配置文件,用于启用/禁用插件、注入插件参数等
|- |- noodle-boot-starter-validation -- 参数校验扩展
|- |- noodle-boot-starter-sign -- 签名验证
|- |- noodle-boot-starter-elasticsearch-migration -- ES 数据脚本迁移工具
|- |- noodle-boot-starter-flywaydb-plugin -- flyway插件扩展支持国产数据库
|- |- noodle-boot-starter-data-elasticsearch-client -- ES 客户端扩展封装,支持适配ES版本兼容
|- |- noodle-boot-starter-elasticsearch-client -- 自定义 starter 模块实现 ElasticsearchTemplate 的自动装配
|- |- noodle-boot-starter-openfeign -- feign调用SSL证书认证扩展
|- assists -- 框架辅助工具
|- |- mybatis-plus-generator-maven-plugin -- mybatis-plus 代码生成器
|- |- mybatis-spring-generator-maven-plugin -- mybatis 代码生成器
|- |- doc-database-maven-plugin -- 数据库表结构文档 生成器
|- |- elasticsearch-migration-maven-plugin -- ES脚本 生成器
|- docs -- 文档
|- examples -- 使用示例
总体原则,同步更新,与SpringBoot版本保持一致
noodle-boot | spring-boot | 开发状态 |
2.1.5-beta.2.7 | 2.7.2 | 完成 |
2.1.9-beta.1.3 | 2.7.8 | 完成 |
2.1.11-beta.1.9 | 2.7.10 | 完成 |
2.1.12-beta-1.8 | 2.7.10 | 完成 |
2.1.13-beta-1.4 | 2.7.10 | 完成 |
2.1.14-beta-1.4 | 2.7.12 | 完成 |
2.1.16-beta-1.8 | 2.7.13 | 完成 |
2.1.17-beta-2.7 | 2.7.14 | 完成 |
2.1.19-beta-1.6 | 2.7.16 | 完成 |
2.1.21-beta-1.9 | 2.7.18 | 完成 |
2.1.25-beta-2.0 | 2.7.18 | 完成 |
2.1.26-beta-3.2 | 2.7.18 | 完成 |
2.1.27-beta-1.7 | 2.7.18 | 完成 |
PS:绝大多数现代版本标识符是由两个或 三个数字段组成,以及可选的修饰符。通常 建议不要使用四个数字段的版本。