发布时间:2026-07-25阅读(0)
JeecgBoot 是一款基于代码生成器的低代码开发平台!前后端分离架构 SpringBoot2.x,SpringCloud,Ant Design&Vue,Mybatis-plus,Shiro,JWT,支持微服务。强大的代码生成器让前后端代码一键生成,实现低代码开发!
JeecgBoot 引领新的低代码开发模式(OnlineCoding-> 代码生成器-> 手工Merge), 帮助解决Java项目70%的重复工作,让开发更多关注业务。既能快速提高效率,节省研发成本,同时又不失灵活性!
JeecgBoot 提供了一系列低代码模块,实现在线开发真正的零代码:Online表单开发、Online报表、报表配置能力、在线图表设计、大屏设计、移动配置能力、表单设计器、在线设计流程、流程自动化配置、插件能力(可插拔)等等!
JEECG宗旨是: 简单功能由OnlineCoding配置实现,做到零代码开发;复杂功能由代码生成器生成进行手工Merge 实现低代码开发,既保证了智能又兼顾灵活;实现了低代码开发的同时又支持灵活编码,解决了当前低代码产品普遍不灵活的弊端!
JEECG业务流程: 采用工作流来实现、扩展出任务接口,供开发编写业务逻辑,表单提供多种解决方案:表单设计器、online配置表单、编码表单。同时实现了流程与表单的分离设计(松耦合)、并支持任务节点灵活配置,既保证了公司流程的保密性,又减少了开发人员的工作量。
适用项目Jeecg-Boot低代码开发平台,可以应用在任何J2EE项目的开发中,尤其适合SAAS项目、企业信息管理系统(MIS)、内部办公系统(OA)、企业资源计划系统(ERP)、客户关系管理系统(CRM)等,其半智能手工Merge的开发方式,可以显著提高开发效率70%以上,极大降低开发成本。
技术架构:开发环境├─系统管理│ ├─用户管理│ ├─角色管理│ ├─菜单管理│ ├─权限设置(支持按钮权限、数据权限)│ ├─表单权限(控制字段禁用、隐藏)│ ├─部门管理│ ├─我的部门(二级管理员)│ └─字典管理│ └─分类字典│ └─系统公告│ └─职务管理│ └─通讯录│ └─多租户管理├─消息中心│ ├─消息管理│ ├─模板管理├─代码生成器(低代码)│ ├─代码生成器功能(一键生成前后端代码,生成后无需修改直接用,绝对是后端开发福音)│ ├─代码生成器模板(提供4套模板,分别支持单表和一对多模型,不同风格选择)│ ├─代码生成器模板(生成代码,自带excel导入导出)│ ├─查询过滤器(查询逻辑无需编码,系统根据页面配置自动生成)│ ├─高级查询器(弹窗自动组合查询条件)│ ├─Excel导入导出工具集成(支持单表,一对多 导入导出)│ ├─平台移动自适应支持├─系统监控│ ├─Gateway路由网关│ ├─性能扫描监控│ │ ├─监控 Redis│ │ ├─Tomcat│ │ ├─jvm│ │ ├─服务器信息│ │ ├─请求追踪│ │ ├─磁盘监控│ ├─定时任务│ ├─系统日志│ ├─消息中心(支持短信、邮件、微信推送等等)│ ├─数据日志(记录数据快照,可对比快照,查看数据变更情况)│ ├─系统通知│ ├─SQL监控│ ├─swagger-ui(在线接口文档)│─报表示例│ ├─曲线图│ └─饼状图│ └─柱状图│ └─折线图│ └─面积图│ └─雷达图│ └─仪表图│ └─进度条│ └─排名列表│ └─等等│─大屏模板│ ├─作战指挥中心大屏│ └─物流服务中心大屏│─常用示例│ ├─自定义组件│ ├─对象存储(对接阿里云)│ ├─JVXETable示例(各种复杂ERP布局示例)│ ├─单表模型例子│ └─一对多模型例子│ └─打印例子│ └─一对多TAB例子│ └─内嵌table例子│ └─常用选择组件│ └─异步树table│ └─接口模拟测试│ └─表格合计示例│ └─异步树列表示例│ └─一对多JEditable│ └─JEditable组件示例│ └─图片拖拽排序│ └─图片翻页│ └─图片预览│ └─PDF预览│ └─分屏功能│─封装通用组件 │ ├─行编辑表格JEditableTable│ └─省略显示组件│ └─时间控件│ └─高级查询│ └─用户选择组件│ └─报表组件封装│ └─字典组件│ └─下拉多选组件│ └─选人组件│ └─选部门组件│ └─通过部门选人组件│ └─封装曲线、柱状图、饼状图、折线图等等报表的组件(经过封装,使用简单)│ └─在线code编辑器│ └─上传文件组件│ └─验证码组件│ └─树列表组件│ └─表单禁用组件│ └─等等│─更多页面模板│ ├─各种高级表单│ ├─各种列表效果│ └─结果页面│ └─异常页面│ └─个人页面├─高级功能│ ├─系统编码规则│ ├─提供单点登录CAS集成方案│ ├─提供APP发布方案│ ├─集成Websocket消息通知机制├─Online在线开发(低代码)│ ├─Online在线表单 - 功能已开放│ ├─Online代码生成器 - 功能已开放│ ├─Online在线报表 - 功能已开放│ ├─Online在线图表(暂不开源)│ ├─Online图表模板配置(暂不开源)│ ├─Online布局设计(暂不开源)│ ├─多数据源管理 - 功能已开放├─积木报表设计器(低代码)│ ├─打印设计器│ ├─数据报表设计│ ├─图形报表设计(支持echart)│ ├─大屏设计器(暂不开源)│─流程模块功能 (暂不开源)│ ├─流程设计器│ ├─在线表单设计│ └─我的任务│ └─历史流程│ └─历史流程│ └─流程实例管理│ └─流程监听管理│ └─流程表达式│ └─我发起的流程│ └─我的抄送│ └─流程委派、抄送、跳转│ └─。。。└─其他模块 └─更多功能开发中。。
1、服务注册和发现 Nacos √
2、统一配置中心 Nacos √
3、路由网关 gateway(三种加载方式) √
4、分布式 http feign √
5、熔断和降级 Sentinel √
6、分布式文件 Minio、阿里OSS √
7、统一权限控制 JWT Shiro √
8、服务监控 SpringBootAdmin√
9、链路跟踪 Skywarking
10、消息中间件 RabbitMQ √
11、分布式任务 xxl-job √
12、分布式事务 Seata
13、分布式日志 elk kafa
14、支持 docker-compose、k8s、jenkins
15、CAS 单点登录 √
16、路由限流 √
微服务架构图
微服务架构图
Jeecg Boot 产品功能蓝图
git clone https://github.com/zhangdaiscott/jeecg-boot.gitcd jeecg-boot/ant-design-jeecg-vue
# 安装yarnnpm install -g yarn# 下载依赖yarn install# 启动yarn run serve# 编译项目yarn run build# Lints and fixes filesyarn run lint
上文中我们阐述了一些SpringBoot自动配置的原理,我们是从全局的角度去看自动配置的整个过程。比如从哪个地方开始进行装配流程、如何找到装配的包等。
那么现在将自己的视角贴近SpringBoot,来聊聊application.yml中我们配置的东西,是如何配置到一个个的配置类中的。
yml配置文件中可以配置那些东西首先要知道这个问题的答案,我们应该习惯springboot的配置方式。在上文中我们阐述了SpringBoot总是将所有的配置都用JavaConfig的形式去呈现出来,这样能够使代码更加优雅。
那么yml中配置的东西,必然是要和这种配置模式去进行联系的,我们在application.yml中配置的东西,通常是一些存在与自动配置类中的属性,那么这些自动配置类,在启动的时候是怎么找到的呢?
如果你还记得上文的描述,那么你可以很明确地知道:spring.factories!没错,就是它,所以这个问题我们似乎得到了答案——只要存在与spring.factories中的,我们都可以在application.yml中进行配置。
当然,这并不意味着不存在其中的我们就不能配置,这些配置类我们是可以进行自定义的,只要我们写了配置类,我们就可以在yml中配置我们需要的属性值,然后在配置类中直接读取这个配置文件,将其映射到配置类的属性上。那么就牵扯出我们的问题了:配置类是如何去读取yml配置文件中的信息的呢?
@ConfigurationProperties要明白这个问题。我们就首先要去了解这个注解有什么作用。
我们可以自己尝试在application.yml中去定义一些属性,如下:
object: name: Object blogurl: blog.objectspace.cn
我们现在自己定义一个类去读取这个文件:
@Component@ConfigurationProperties(prefix = "object")public class TestConfig { private String name; private String blogUrl; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getBlogUrl() { return blogUrl; } public void setBlogUrl(String blogUrl) { this.blogUrl = blogUrl; }}
然后我们在测试类中输出一下这个对象:
@SpringBootTestclass SpringbootdemoApplicationTests { @Autowired TestConfig testConfig; @Test void contextLoads() { System.out.println(testConfig.getName()); System.out.println(testConfig.getBlogUrl()); }}
测试结果:

我们可以看到,在控制台中输出了我们在yml中配置的属性值,但是这些值我们没有在任何地方显式地对这个对象进行注入。
所以@ConfigurationProperties这个注解,可以将yml文件中写好的值注入到我们类的属性中。
明白了它的作用,就能明白自动配置类工作的原理了。
我们依旧是选取SpringMVC的自动配置类,我们来看看其中有些什么东西。

点击任意一个*Properties类中,look一下其中的内容:

看到这里相信所有人都明白了,我们就拿mvc配置来举例。

我们在yml中配置的date-format,就可以通过@ConfigurationProperties映射到类中的dateFormat中,然后在通过自动配置类,将这些属性配置到配置类中。
Copyright © 2024 有趣生活 All Rights Reserve吉ICP备19000289号-5 TXT地图HTML地图XML地图