klguang / coderfun-boot


README.md

演示地址:http://106.15.195.9:8080/admin/
在飞速变化的互联网时代,时间是最大的成本和代价。开源的网站基础开发平台已经多如牛毛了,有思想的项目并不多。从互联网创业浪潮一路走来,总结这几年的开发经验,在空闲时间将之前做的项目经行重构,coderfun-boot便诞生了。本项目最大的特色就是,快速开发。一张业务表的增删改查(后台管理接口+后台管理页面+对外接口),30分钟足矣。

曾经,我用一周开发一个点餐系统,用不到一个月开发一个进销存系统,只有我一个人。fieldmeta项目也是功不可没。可能你会说,你做的是demo(假项目)吧,手动捂脸哈哈哈。事实上,一年半过去了,这些系统在多个地方依然运行良好。你的代码在运行,总是一件幸福的事情。

项目特点

  • maven模块化开发
  • 通用网站开发脚手架,用户、角色、权限、菜单、字典管理
  • klg-jpa快捷增删改查封装
  • easyui快捷增删改查封装
  • springmvc 统一异常处理和错误码标准规范
  • Aop日志模块

技术选型

  • 运行环境:jdk1.7
  • 数据库:mysql 5.7
  • java框架:spring mvc+spring-data-jpa+shiro
  • 前端框架:easyui 1.5.3

关于easyui+jpa的技术选型,可能很多人会吐槽,不过这里我说两句:

  1. easyui并不过时,很适合做管理系统,界面美观,并且适合做结构复杂、数据量多的页面,组件丰富,文档完善。
  2. jpa运行效率并不低,或者说对系统的使用根本没有影响。缓存、cdn才是最主要需要考虑的。
  3. 脱离应用场景说技术选型,没有意义。对于个人独立开发者(接私活哈哈),中小企业,甚至大公司做系统原型,快速开发是很重要的。

快速上手

1.klg-jpa 便捷查询,详细见klg-jpa项目

@ResponseBody
@RequestMapping("/findpage")
public EasyUIPage findpage(
	@RequestParam int page,
	@RequestParam int rows,
	@RequestParam(required=false) Long employeeid,
	@RequestParam(required=false) String typeCode,
	@RequestParam(required=false) @DateTimeFormat(pattern="yyyy-MM-dd") Date startDate,
	@RequestParam(required=false) @DateTimeFormat(pattern="yyyy-MM-dd") Date endDate){
	Pageable pageable=new PageRequest(page<1?0:page-1, rows, new Sort(Direction.DESC,"numId"));

	Page<DrugOut> pageData=drugOutService.findPage(pageable, 
		AExpr.eq(DrugOut_.employeeid, employeeid).igEmpty(),// igEmpty()忽略空值,包括null和""
		AExpr.eq(DrugOut_.typeCode, typeCode).igEmpty(),
		AExpr.gte(DrugOut_.saledate, startDate).igEmpty(),//大于
		AExpr.lte(DrugOut_.saledate, endDate).igEmpty());//小于

	return new EasyUIPage(pageData);
}

2.easyui 表单增删改查封装

	var dataTable = new DataTable({
		$datagrid_table :$("#datagrid-table"),
		$data_form_dialog : $("#data-form-dlg"),
		$data_form : $("#data-form"),
		data_form_name : "测评项目",
		
		addOpt : {
			url : adminActionPath+"/project/add"
		},
		editOpt : {
			url : adminActionPath+"/project/edit"
		},
		removeOpt : {
			url : adminActionPath+"/project/delete"
		},
		saveOpt : {},
		searchOpt : {
			$searchForm : $("#search-form"),
		}
	});

部署说明

演示地址:http://106.15.195.9:8080/admin/
admin:111111

项目预览

用户管理 角色 登录日志 系统日志

菜单管理 权限管理 数据字典