项目主页:https://gitee.com/klguang/coderfun-boot

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

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

项目特点

  • maven模块化开发
  • 通用网站开发脚手架,用户、角色、权限、菜单、字典管理
  • 支持集群,基于redis session 共享,阿里云oss做文件存储
  • 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项目

  1. @ResponseBody
  2. @RequestMapping("/findpage")
  3. public EasyUIPage findpage(
  4. @RequestParam int page,
  5. @RequestParam int rows,
  6. @RequestParam(required=false) Long employeeid,
  7. @RequestParam(required=false) String typeCode,
  8. @RequestParam(required=false) @DateTimeFormat(pattern="yyyy-MM-dd") Date startDate,
  9. @RequestParam(required=false) @DateTimeFormat(pattern="yyyy-MM-dd") Date endDate){
  10. Pageable pageable=new PageRequest(page<1?0:page-1, rows, new Sort(Direction.DESC,"numId"));
  11.  
  12. Page<DrugOut> pageData=drugOutService.findPage(pageable,
  13. AExpr.eq(DrugOut_.employeeid, employeeid).igEmpty(),// igEmpty()忽略空值,包括null和""
  14. AExpr.eq(DrugOut_.typeCode, typeCode).igEmpty(),
  15. AExpr.gte(DrugOut_.saledate, startDate).igEmpty(),//大于
  16. AExpr.lte(DrugOut_.saledate, endDate).igEmpty());//小于
  17.  
  18. return new EasyUIPage(pageData);
  19. }

2.easyui 表单增删改查封装,详见 easyui增删改查封装文档

  1. var dataTable = new DataTable({
  2. $datagrid_table :$("#datagrid-table"),
  3. $data_form_dialog : $("#data-form-dlg"),
  4. $data_form : $("#data-form"),
  5. data_form_name : "测评项目",
  6.  
  7. addOpt : {
  8. url : adminActionPath+"/project/add"
  9. },
  10. editOpt : {
  11. url : adminActionPath+"/project/edit"
  12. },
  13. removeOpt : {
  14. url : adminActionPath+"/project/delete"
  15. },
  16. saveOpt : {},
  17. searchOpt : {
  18. $searchForm : $("#search-form"),
  19. }
  20. });

部署说明

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

更新日志

2018-12-06 发布Alpha 0.0.1-SNAPSHOT

项目预览

coderfun-boot接私活利器,文档详实,非一般的开发速度的更多相关文章

  1. SpringBoot接口 - 如何生成接口文档之非侵入方式(通过注释生成)Smart-Doc?

    通过Swagger系列可以快速生成API文档,但是这种API文档生成是需要在接口上添加注解等,这表明这是一种侵入式方式: 那么有没有非侵入式方式呢, 比如通过注释生成文档? 本文主要介绍非侵入式的方式 ...

  2. Win 10 开发中Adaptive磁贴模板的XML文档结构,Win10 应用开发中自适应Toast通知的XML文档结构

    分享两篇Win 10应用开发的XML文档结构:Win 10 开发中Adaptive磁贴模板的XML文档结构,Win10 应用开发中自适应Toast通知的XML文档结构. Win 10 开发中Adapt ...

  3. 10个Spring Boot快速开发的项目,接私活利器(快速、高效)

    本文为大家精选了 码云 上优秀的 Spring Boot 语言开源项目,涵盖了企业级系统框架.文件文档系统.秒杀系统.微服务化系统.后台管理系统等,希望能够给大家带来一点帮助:) 1.项目名称:分布式 ...

  4. Spring Boot Swagger2自动生成接口文档

    一.简介 在当下这个前后端分离的技术趋势下,前端工程师过度依赖后端工程师的接口和数据,给开发带来了两大问题: 1.问题一.后端接口查看难:要怎么调用?参数怎么传递?有几个参数?参数都代表什么含义? 2 ...

  5. Spring Boot集成JasperReports生成PDF文档

    由于工作需要,要实现后端根据模板动态填充数据生成PDF文档,通过技术选型,使用Ireport5.6来设计模板,结合JasperReports5.6工具库来调用渲染生成PDF文档.本人文采欠缺,写作能力 ...

  6. Spring Boot 整合Swagger2构建API文档

    1.pom.xml中引入依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>spri ...

  7. Spring Boot 集成 Swagger生成接口文档

    目的: Swagger是什么 Swagger的优点 Swagger的使用 Swagger是什么 官网(https://swagger.io/) Swagger 是一个规范和完整的框架,用于生成.描述. ...

  8. Spring Boot + kkFileView-2.1.2 实现文档在线预览

    1. 下载kkFileview:https://gitee.com/kekingcn/file-online-preview/releases 2. 启动服务 进入 bin 目录,双击 startup ...

  9. Spring Boot 集成 Swagger 构建接口文档

    在应用开发过程中经常需要对其他应用或者客户端提供 RESTful API 接口,尤其是在版本快速迭代的开发过程中,修改接口的同时还需要同步修改对应的接口文档,这使我们总是做着重复的工作,并且如果忘记修 ...

随机推荐

  1. 让HttpClient不要打印巨多的日志

    让HttpClient不要打印巨多的日志 log4j.logger.org.apache.commons.httpclient=DEBUG 參考http://hc.apache.org/httpcli ...

  2. 解决Collection <__NSArrayM: 0xb550c30> was mutated while being enumerated.-

    bug: 今天做项目的时候遇到了这样一个崩溃信息: 解决Collection <__NSArrayM: 0xb550c30> was mutated while being enumera ...

  3. (2)FluidMoveBehavior 之单击 Grid 中 Tile 进行排序

    在上一篇文章中,使用 FluidMoveBehavior 结合 FluidMoveSetTagBehavior 可以使数据从 ListBox 中的 数据显示时,产生缓慢的动画,从而更加生动.其实 Fl ...

  4. 封装locaostorage

    const ls = localStorage export default { setItem(name, value) { ls.setItem(name, JSON.stringify(valu ...

  5. dbcp 详细配置

    1.配置参数 username : 连接用户名 password:  连接密码 url :  连接 url( 如果连接 mysql ,格式为 jdbc:mysql://ip:port/dbname) ...

  6. oracle解惑

    1. 先在google, 论坛,metalink, online document 里搜索.     在这里提供Oracle 一些常见的连接地址,包括Oracle 下载地址,Oracle 对个人用是免 ...

  7. Windows Phone 修改系统定义的资源颜色

    [问题的背景] 相信有些经验的WP研发同学都会遇到下面的问题: 系统控件以及WPToolkit中大量使用了PhoneAccentBrush这个画刷(这个画刷定义的是系统的强调色,即用户选择的主题颜色) ...

  8. [usb]usb otg和host

    USB OTG 设备既能做主机,又能做设备.USB HOST是指主机.当OTG 插到 HOST 上,OTG 的角色 就是 device.当device 插到 OTG 上,OTG 的角色就是 HOST. ...

  9. [内核]Linux UserSpace和Kernel之间如何联系

    转自:http://blog.csdn.net/dreaming_my_dreams/article/details/8272586 应用层和驱动的衔接,一直是一个老大难问题,若弄不清楚,总觉得驱动写 ...

  10. Java多线程之Lock的使用<转>

    import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util ...