# Junx-EP极简WEB应用开发框架 **Repository Path**: newyear-ly/junx-ep ## Basic Information - **Project Name**: Junx-EP极简WEB应用开发框架 - **Description**: 采用springboot3.0+layui搭建的极简模块化web应用程序开发平台(JAVA17+),代码采用微内核思想,提供了模块化的代码架构,支持一键式启动后台管理系统,极大缩短管理系统开发时间,适合个人开发或者小团队。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://gitee.com/junxworks/junx-ep/wikis/pages - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2025-09-14 - **Last Updated**: 2025-09-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README   junx-ep采用JAVA17+springboot3.0+layui搭建的极简web应用程序开发平台,轻巧易用,模块化开发框架,按需加载,只需要几个注解,就能拥有Web应用系统基础功能模块与开发框架。现在这些前端开发流行MVVM项目,做了很多优秀的前端框架,像Angularjs、vue、ant-design等等,确实对于前端开发来说是福音,但是这些框架对后端开发人员很不友好,简单的全栈式开发框架似乎成为了历史。因此在目前这个后端开发人员做前端开发越来越难的时候,我决心做一款适合后端开发人员使用的全栈式开发框架(提供一种模块化框架的开发思路),一键式开源Java开发框架junx-ep(简称EP框架),提供了一整套web应用开发技术栈,由于本人懒且谨慎,因此设计本框架的原则就是“在安全可靠的情况下,能少写一行代码是一行代码”,在本框架下开发出来的系统,代码量比传统的要少很多(对比过本公司其他项目,整体代码量少三分之一左右,当然还得看程序猿本身素养,素养差的就算把屠龙刀给他,他也只会拿刀背去砍)。框架实现上前后端完全分类,目前提供的前端是基于Layui+JQuery技术栈实现,逻辑简单,方便快捷,是后端开发人员的福音,适合个人和中小型研发团队使用。EP框架本身从2019年开发至今,已经使用了多年,经过公司多个项目考验,在此框架上研发功能也方便快捷,后续会根据常用功能不断优化,通常来说只需要升级jar包即可。EP框架的demo体验地址与git地址如下: ``` demo URL: https://blog.junxworks.cn/demo/eui/login.html 帐号:test 密码:123 demo git URL: https://gitee.com/junxworks/junx-ep-demo EP源码git URL: https://gitee.com/junxworks/junx-ep ```   废话不多说,下面看看如何开启极速开发之旅。 #### 一、下载maven种子项目   之所以要另起一个种子项目,是因为不用每次都特别繁琐的去配置一些文件,把一些通用的配置都写进种子文件里面,像pom.xml,application.yml,bootstrap.yml等等常用配置,这样的话下次新建项目的时候把种子项目拿过来稍作修改即可。 ``` 种子项目git地址:https://gitee.com/junxworks/junx-ep-demo 下载种子项目过后,需要进行以下几处调整: 1、将项目名修改成自己想要的项目名字,新建自己的包路径,将seed项目下的启动类和配置类拷贝过去 2、调整pom.xml中的项目配置信息 3、调整logback.xml配置 4、调整application中的上下文配置以及数据库配置 以上改动完成后,基本上就可以开始新的项目编写了,是不是很简单? ```   如果说不用种子项目自己创建项目也行,直接引用junx-ep包,开启对应的注解即可(文章后面有讲),EP包在maven中央仓库有发布,引用如下: ``` io.github.junxworks junx-ep-sys {LATEST_VERSION} # 注意,EP框架本身依赖mybatis,目前数据库只支持mysql(或者兼容mysql的DB) ``` 目前junx-ep有两个大版本,都可以在Maven中央仓库上搜索到,1.X版本是基于JDK8+Springboot2开发,2.X版本是基于JDK17+Springboot3+DDD开发,完成了Java EE到Jakarta EE的升级。 #### 二、初始化项目   数据库为避免数据库建表冲突,建议新建一个开发库实例。在改完seed项目过后,确认application-dev.yml配置文件中的数据库配置已经调整完毕,运行Application.java启动文件,即可自动初始化EP所需的表结构。项目启动完毕后,即可通过地址 **http://localhost:端口/上下文/eui/login.html** 地址进行项目访问了,初始用户名admin,初始密码123456,首次进去后必须修改密码(目前没对密码强度做认证,后续更新会加上)。登录页面如下图所示: ![1597964364787568640.png](https://blog.junxworks.cn/mystery/ep/files/1597964364787568640.png)   登录后的首页如下所示: ![1597964474305040384.png](https://blog.junxworks.cn/mystery/ep/files/1597964474305040384.png)   做到这里EP框架的初始化就算完成了,目前EP有三个功能拓展的功能模块,分别是定时任务管理junx-ep-scheduler,文件服务junx-ep-fs,以及非常有用的代码生成模块junx-ep-codegen,通过maven引入对应的jar包即可。 ```apache io.github.junxworks junx-ep-scheduler ${junx-ep.version} io.github.junxworks junx-ep-codegen ${junx-ep.version} io.github.junxworks junx-ep-fs ${junx-ep.version} ``` 以上使用的springboot自动配置进行功能注入的,有一点要注意,以上功能模块都依赖**junx-ep-sys**模块,如果没有用sys进行系统初始化,引入以上模块不会生效。sys是EP最基础的模块,其实现了基础的应用管理功能,目前角色权限这块是基于RBAC做的,认证鉴权框架用的shiro,实现了组织、用户、菜单(权限控制到按钮级)、角色、系统日志、数据字典等功能。**junx-ep-scheduler**模块实现了基于quartz的定时任务管理,该模块初始化后会自动引入定时任务功能,届时会新增定时任务管理菜单。**junx-ep-fs**模块,这个是文件上传下载功能模块,支持本地文件系统驱动与阿里云oss驱动,引入模块jar包后,同样EP框架会自动进行相关初始化,应用就拥有了上传下载查看图片与缩略图的能力,是不是非常方便?后续还会陆陆续续新增更多有用的模块,例如activiti工作流模块等等。这里EP框架只是提供了一种系统模块化的思路,带上自己的一些愚见,其实很早之前就希望做一款能复用、好用、简单方便的java开发框架,直到遇到了layui,发现这款前端框架很适合我的想法,结合了springboot的一些机制,终于实现了junx-ep这款一键式开发平台,目前已经运行了3年多,做过的项目不少,一直在优化过程中,开源出来也是希望能给人提供帮助,或者帮助一些小型团队提供一种思路,仅此而已,开源这条路我会一直走下去,毕竟已经走了很多年了,坚持总会带来好运。在后面的文章里,将会对EP框架进行更详细的介绍。 更多请参考:https://gitee.com/junxworks/junx-ep/wikis/pages