铭飞完整开源的J2EE系统

https://gitee.com/mingSoft/MCMS

商用
基于MIT开源协议,可直接商用无需授权,但请尊重开源精神不要去掉代码中铭飞的注释和版权信息

特点
免费完整开源:基于MIT协议,源代码完全开源,无商业限制,MS开发团队承诺将MCMS内容系统永久完整开源;
标签化建站:不需要专业的后台开发技能,只要使用系统提供的标签,就能轻松建设网站;
html静态化:系统支持全站静态化;
跨终端:站点同时支持PC与移动端访问,同时会自动根据访问的终端切换到对应的界面,数据由系统统一管理;
海量模版:铭飞通过MStore(MS商城)分享更多免费、精美的企业网站模版,降低建站成本;
丰富插件:为了让MCms适应更多的业务场景,在MStore用户可以下载对应的插件,如:站群插件、微信插件、商城插件等;
每月更新:铭飞团队承诺每月28日为系统升级日,分享更多好用等模版与插件;
文档丰富:为了让用户更快速的使用MCms系统进行开发,铭飞团队持续更新开发相关文档,如标签文档、使用文档、视频教程等;
面向对象
企 业:帮助创立初期的公司或团队快速搭建产品的技术平台,加快公司项目开发进度;
开发者:帮助开发者快速完成承接外包的项目,避免从零搭建系统;
学习者:初学JAVA的同学可以下载源代码来进行学习交流;
开发环境
建议开发者使用以下环境,这样避免版本带来的问题

Windows、Linux
Eclipse、Idea
Mysql≧5.7
JDK≧8
Tomcat≧8
快速体验(导入到 Eclipse 或 IDEA)
1、检出源代码: git clone https://gitee.com/mingSoft/MCMS.git
2、导入项目

Eclipse导入,菜单 File -> Import,然后选择 Maven -> Existing Maven Projects,点击 Next> 按钮,选择检出的项目MCMS文件夹,然后点击 Finish 按钮,即可成功导入
IDEA导入,点击 Import Project,选择 pom.xml 文件,点击 Next 按钮,选择 Import Maven projects automatically 复选框,然后一直点击 Next 按钮,直到点击 Finish 按钮,即可成功导入
4、Eclipse(IDEA)会自动加载 Maven 依赖包,初次加载会比较慢(根据自身网络情况而定),若工程上有小叉号,请打开 Problems 窗口,查看具体错误内容,直到无错误为止
5、创建数据库mcms(数据库使用utf-8编码),导入doc/mcms-版本号.sql,如果升级现有系统请使用*-up-*.sql升级,如果导入了系统对应的完整版SQL,sql升级补丁不需要重复导入;
6、修改src\main\resources\application-dev.yml文件中的数据库设置参数;
7、运行MSApplication.java main方法
8、首先先访问后台地址:http://localhost:8080/ms/login.do,管理员账号,用户名:msopen 密码:msopen,进入后台点击内容管理->静态化菜单,进行"生成主页","生成栏目","生成文章"操作一遍 (注意!!!是后台登录界面,不是会员中心登录界面)

技术选型
后端框架
技术 名称 官网
Spring Framework 容器 http://projects.spring.io/spring-framework
Spring Boot MVC框架 https://spring.io/projects/spring-boot
Apache Shiro 安全框架 http://shiro.apache.org
Spring session 分布式Session管理 http://projects.spring.io/spring-session
MyBatis ORM框架 http://www.mybatis.org
Freemarker 视图框架 http://freemarker.foofun.cn
PageHelper MyBatis分页插件 http://git.oschina.net/free/Mybatis_PageHelper
Log4J 日志组件 http://logging.apache.org
Maven 项目构建 http://maven.apache.org
Elasticsearch 分布式搜索引擎 https://www.elastic.co
Redis 分布式缓存数据库 https://redis.io
hutool 工具类 http://hutool.mydoc.io
前端框架
技术 名称 官网
VUE MVVM框架 https://cn.vuejs.org//
Element UI UI库 https://element.eleme.cn/2.0/#/zh-CN
jQuery 函式库 http://jquery.com/
Waves 点击效果插件 https://github.com/fians/Waves/
validator 验证库 https://github.com/chriso/validator.js
animate 动画 http://daneden.github.io/animate.css/
icon 矢量小图标(待更新) https://www.iconfont.cn/
文件说明
doc 项目文档文件夹,里面有数据库文件
src/main/java java源代码
src/main/resources 项目的资源配置文件
src/main/webapp
src/main/webapp/static 静态资源文件,如:js、css、image、等第三方前端插件库
src/main/webapp/html 生成的静态页面,实际项目需要删除,只是提供给开发者快速预览生成后的静态页面
src/main/webapp/templet 模版文件夹
src/main/webapp/upload 上传资源文件夹
src/main/webapp/WEB-INF/manager 后端视图页面
LICENSE 项目协议说明
README.md 项目说明文档
pom.xml 依赖配置文件
文档
使用手册 http://doc.mingsoft.net/mcms/

120927_8a3f93e3_1795833.webp

JAVA框架 JFinal 极速开发框架

JFinal 是基于 Java 语言的极速 WEB + ORM + AOP + Template Engine 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、python、php等动态语言的开发效率!为您节约更多时间,去陪恋人、家人和朋友 :)

JFinal有如下主要特点:
MVC架构,设计精巧,使用简单

遵循COC原则,支持零配置,无xml

独创Db + Record模式,灵活便利

ActiveRecord支持,使数据库开发极致快速

自动加载修改后的java文件,开发过程中无需重启 web server

AOP支持,拦截器配置灵活,功能强大

Plugin体系结构,扩展性强

多视图支持,支持 Enjoy、FreeMarker、JSP

强大的Validator后端校验功能

功能齐全,拥有struts2的绝大部分功能

体积小仅 723 KB,且无第三方依赖

以下是JFinal实现Blog管理的示例:
1:控制器(支持 Enjoy、FreeMarker、JSP、JSON等以及自定义视图渲染)

@Before(BlogInterceptor.class)
public class BlogController extends Controller {
 
    @Inject
    BlogService service;
 
    public void index() {
        set("blogPage", service.paginate(getParaToInt(0, 1), 10));
        render("blog.html");
    }
 
    public void add() {
    }
 
    @Before(BlogValidator.class)
    public void save() {
        getModel(Blog.class).save();
        redirect("/blog");
    }
 
    public void edit() {
        set("blog", service.findById(getParaToInt()));
    }
 
    @Before(BlogValidator.class)
    public void update() {
        getModel(Blog.class).update();
        redirect("/blog");
    }
 
    public void delete() {
        service.deleteById(getParaToInt());
        redirect("/blog");
    }
}

2:Service(所有业务与sql放在Service层)

public class BlogService {
 
    private Blog dao = new Blog().dao();
    
    public Page<Blog> paginate(int pageNumber, int pageSize) {
        return dao.paginate(pageNumber, pageSize, "select *", "from blog order by id asc");
    }
    
    public Blog findById(int id) {
        return dao.findById(id);
    }
    
    public void deleteById(int id) {
        dao.deleteById(id);
    }
}

3:Model(无xml、无annotation、无attribute)

public class Blog extends Model<Blog> {
    
}
注意:实际应用中建议使用 jfinal 提供的生成器生成 base model,从而让 Blog 同时拥有 getter、setter 方法。生成器请下载首页的 jfinal_demo_for_maven

4:Validator(API引导式校验,比xml校验方便N倍,有代码检查不易出错)

public class BlogValidator extends Validator {
  protected void validate(Controller controller) {
    validateRequiredString("blog.title", "titleMsg", "请输入Blog标题!");
    validateRequiredString("blog.content", "contentMsg", "请输入Blog内容!");
  }
 
  protected void handleError(Controller controller) {
    controller.keepModel(Blog.class);
  }
}

5:拦截器(在此demo中仅为示例,本demo不需要此拦截器)

public class BlogInterceptor implements Interceptor {
  public void intercept(Invocation inv) {
    System.out.println("Before invoking " + inv.getActionKey());
    inv.invoke();
    System.out.println("After invoking " + inv.getActionKey());
  }
}

5:最新文档与最新下载
JFinal 5.0.0 手册(在线版) https://jfinal.com/doc

JFinal 5.0.0 demo for maven https://jfinal.com/download/now?file=jfinal_demo_for_maven-5.0.0.zip

JFinal blog https://jfinal.com/download/now?file=jfinal-blog-5.0.0.zip

PS:首先各位已经站在了 巨人的肩膀上!软件启动极快,基于这框架的开源项目也极多。
JFinal5.0 蓝奏下载(备选)
https://chenji.lanzouj.com/ihFm006x1ceh

JAVA开源项目JPress ,一个类似WordPress的产品

screenshot.png

https://gitee.com/JPressProjects/jpress

一个使用 Java 开发的类似 WordPress 的产品,并在此基础上增加了电商的功能。
功能
内容相关
文章管理
文章分类
文章标签
文章搜索(支持 sql like、Lucene、es、OpenSearch)
用户投稿
页面管理
评论管理
附件管理
电商相关
产品管理
产品分类
产品标签
产品搜索(支持 sql like、Lucene、es、OpenSearch)
产品分销
会员管理
订单管理
分销管理
提现管理
优惠券管理
支付配置
物流配置
用户相关
用户管理
会员管理
权限管理
订单管理
用户标签
短信群发
邮件群发
系统相关
模板管理
插件管理
微信管理
系统管理
特点
模板
模板在线安装、卸载
模板在线启用、切换
在线编辑及实时生效
完善的模板开发文档
极致的模板开发体验
插件
插件在线安装、卸载
插件在线启用、停止
插件在线更新
支持在插件里添加新的 Controller
支持在插件里添加新的 Handler
支持在插件里添加新的 Interceptor
支持在插件里添加新的 Html、Css 和 Js
支持在插件里创建新的数据库表以及对应的 Model
支持在插件里链接不同的数据库
支持通过插件动态扩展后台菜单和用户中心菜单
插件扩展的菜单支持用户权限设置的管理
插件被停止:该插件的所有Controller、Handler、Intercepter 自动被移除
插件被卸载:该插件的所有资源全部被删除
用户
独立登录、注册入口
手机短信、邮箱激活功能
用户中心(投稿、文章管理、评论管理、个人资料管理等)
第三方登录:微信、QQ、钉钉、oschina、GitHub等
微信浏览时,通过微信授权自动获取用户信息
角色和权限
角色管理
全自动、免维护的权限字典(自动发现后台路由、插件安装卸载自动分配对应)
角色和权限的分配
用户多角色功能
超级管理员
微信
微信公众号对接
微信公众号关键字自动回复
微信公众号菜单设置
微信公众号运营插件
通过运用插件灵活扩展各种微信营销功能
微信小程序对接、和配置
SEO
每篇文章和页面独立的SEO设置
Baidu API 的实时推送
Baidu 和 Google 的自动 Ping 提交
Sitemap 自动生成、后台支持自定义的开启和关闭
robots.txt 爬虫蜘蛛的支持
整站伪静态支持,支持自定义开后缀
其他
WordPress、Hexo、Jekyll、微信公众号等文章一键导入
编写文章随意切换 CKEditor 和 Markdown 编辑
最大化、沉侵式的文章编写体验
Docker 一键部署
阿里云、腾讯云 CDN 在线配置
阿里云、腾讯云短信验证(用户注册手机验证)
附件自动可配置自动同步阿里云 OSS
完善的API接口配置管理
... (更多等你发现)