开源 企业版 高校版 私有云 模力方舟 AI 队友
内部封装扩展框架
概览 仓库 142 Issues Pull Requests 1 动态 成员 4
热门
自定义精选项目
最多可选取 6 个公开仓库
还能勾选 6
组织介绍

总览

[画像:logo]

简洁优雅 · 稳定高效 | 宁静致远 · 精益求精

Spring Boot 企业级微服务架构

Spring Boot MySQL Nacos

███ ██ ██████ ██████ ██████ ██ ███████ 
████ ██ ██ ██ ██ ██ ██ ██ ██ ██ 
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ █████ 
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ 
██ ████ ██████ ██████ ██████ ███████ ███████ 

设计理念

Noodle Framework的理念是打造基于DDD的安全开发框架,提供微服务一站式解决方案,容器优先/兼容SpringService Mesh的框架、最佳实践及DevOps标准化流程。

noodle-framework = 基于DDD设计和开发 + 自带可治理的错误体系 + 扩展主流微服务框架 + 标准化DevOps流程

  • DDD : 基于DDD模式设计和开发
  • 安全 : 安全行业工具支持及安全项目开发约束
  • 效率 : 提升一倍以上的开发效率
  • 规范 : 遵循公司及业界技术规范
  • API管理和编排 : 业务聚合及协议转换

概述

Noodle Boot Framework是一个基于Spring Boot的开发框架,专注于简化和加速企业级应用程序的开发过程。它提供了一系列功能强大的模块和starter,帮助开发者快速集成常见组件和实现复杂的业务需求。

主要特点

这个框架总体上提供了一套完整的解决方案,用于快速开发和扩展Spring Boot应用程序。以下是它的主要特点和优势:

  1. 模块化设计: 框架通过多个模块的方式组织功能,每个模块专注于特定的领域或需求,如数据访问、安全、服务集成等,使得开发者可以根据需求选择性集成,避免不必要的依赖。

  2. 功能丰富: 框架涵盖了从基础的工具类、数据访问、到复杂的文件存储、消息队列集成等多种功能。这些功能模块化设计使得在实际项目中可以灵活应用,提高开发效率。

  3. 与Spring Boot集成: 框架与Spring Boot深度集成,利用Spring Boot的自动配置和约定优于配置的原则,简化了配置和部署过程,减少了开发人员的工作量。

  4. 开箱即用: 框架提供了许多starter模块,这些模块已经预先配置好常见的组件和依赖项,开发者可以直接引入并开始使用,而无需从头编写配置和集成代码。

  5. 扩展性强: 框架支持自定义扩展,例如通过自定义starter模块或者在现有模块的基础上进行定制化开发,满足特定项目的需求,同时保留了良好的灵活性和可维护性。

  6. 文档和支持: 框架提供了详细的文档和示例,帮助开发者快速上手和解决问题。同时,如果遇到困难或需要帮助,可以借助文档的支持和开发者的互动获取技术支持。

总的来说,这个框架适用于需要快速开发、高效集成和可扩展性的项目,特别是基于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实现的脚手架。所实现功能如下:

  • 支持SPI机制扩展
  • 支持web参数格式化处理,自动处理蛇形与驼峰映射转换
  • 支持异步任务执行器自动装配
  • 支持ehcacheManager缓存自动装配
  • 支持UTF-8编码处理机制自动装配
  • 支持跨域请求自动装配
  • 支持统一异常定义
  • 支持请求及响应日志记录
  • web参数校验
  • 支持多语言(国际化)
  • 敏感配置信息支持加密,表隐私字段加解密(支持多秘钥)
  • 支持mybatis-plus、tk-myabtis自定装配,自动检查创建数据库、分页插件自动识别注册
  • 支持多数据源、分布式事物、支持数据权限
  • 支持国产数据库适配,flyway支持DM扩展插件
  • 支持6.X版本的elasticsearch自动装配、支持基于官方的 Elasticsearch API 自动装配
  • 支持Elasticsearch数据脚本迁移工具,工作方式与Flyway类似
  • 支持Kafka 通过配置方式自动创建主题功能
  • 文件存储适配,目前支持:minio、七牛、阿里云、腾讯云、华为云、AWS的文件存储服务
  • 支持Quartz 定时任务
  • 支持XSS攻击防护,增加SPI扩展机制,可以自定义过滤策略
  • 支持策略模式扩展自动装配
  • 支持状态机
  • 支持事件总线
  • 支持Gateway 网关模块自动装配插件
  • 支持规则引擎,数据解析(Data Parsing)数据格式转换
  • 插件装配,可以针对系统初始化做一些业务处理,也可以停止系统时做相关业务处理,调用业务方法时扩展了前置处理器、后置处理器方便业务灵活扩展组装各类业务插件
  • Feign调用SSL证书认证扩展

功能图谱

模块 核心功能说明 实现 其它说明
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 网关模块 文档

详细结构

|- 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版本关系

总体原则,同步更新,与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.8 2.7.18 完成

PS:绝大多数现代版本标识符是由两个或 三个数字段组成,以及可选的修饰符。通常 建议不要使用四个数字段的版本。

  • Alpha:不建议使用,主要是以实现软件功能为主,通常只在软件开发者内部交流,Bug较多;
  • Beta:该版本相对于α版已有了很大的改进,消除了严重的错误,但还是存在着一些缺陷,需要经过多次测试来进一步消除;
  • GA:General Availability,正式版本,官方推荐使用此版本,在国外都是用GA来说明release版本;
  • M:又叫里程碑版本,表示该版本较之前版本有功能上的重大更新;
  • PRE(不建议使用):预览版,内部测试版,主要是给开发人员和测试人员测试和找BUG用的;
  • Release:最终版本,Release不会以单词形式出现在软件封面上,取而代之的是符号®;
  • RC:该版本已经相当成熟了,基本上不存在导致错误的BUG,与即将发行的正式版相差无几;
  • SNAPSHOT:快照版,可以稳定使用,且仍在继续改进版本。
  • SR.X:修正版,服务版本,当项目发布积累到一定程度,需要修复该版本中的某个错误后以此来命名,X表示数字

开源卫士漏洞分析

成就
3
Star
54.2K
Fork
成员(4)
沙漠孤狼
沈鸿运
点此查找更多帮助

搜索帮助

回到顶部

AltStyle によって変換されたページ (->オリジナル) /