设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 软件追踪 查看内容

快速开发平台,SpringBlade稳定版发布

2016-12-14 00:01| 发布者: joejoe0332| 查看: 1754| 评论: 0|原作者: oschina|来自: oschina

摘要: 经过三个月的完善与修复,经过几个项目的检验,SpringBlade稳定版终于发布啦!SpringBlade是基于多个优秀的开源项目,高度整合封装而成的快速开发平台。 ...

经过三个月的完善与修复,经过几个项目的检验,SpringBlade稳定版终于发布啦!

SpringBlade是基于多个优秀的开源项目,高度整合封装而成的快速开发平台。

鸣谢

1.JFinal
2.eova
3.hutool
4.beetl
5.beetlsql
6.dreamlu
7.kisso
8.spring-shiro-training

内置功能

  • 用户管理

  • 角色管理

  • 菜单管理

  • 字典管理

  • 部门管理

  • 附件管理

  • 参数管理

  • 连接池监视

  • 日志管理

  • 代码生成


技术选型
1、后端
* 核心框架:Spring Framework
* 安全框架:Apache Shiro
* 视图框架:Spring MVC
* 服务端验证:Blade Validator
* 任务调度:Spring Task
* 持久层框架:beetlsql
* 模板引擎:beetl
* 数据库连接池:Alibaba Druid
* 缓存框架:Ehcache
* 日志管理:SLF4J、LOGBACKUP
* 工具类:Apache Commons、FastJson、EASYPOI、BladeToolBox


2、前端
* JS框架:jQuery
* CSS框架:Twitter Bootstrap
* 客户端验证:JQuery-html5Validate
* 富文本:KindEcitor
* 数据表格:jqGrid
* 树结构控件:jQuery zTree
* 弹出层:Layer
* 日期控件: LayDate
* 图表控件:echarts

代码示例

实体类

@Table(name = "notice")@BindID(name = "id")@SuppressWarnings("serial")public class Notice extends BaseModel {    private String id;    private Integer creater;    private String content;    private String title;    private Date createTime;    @AutoID    public String getId() {        return id;    }    public void setId(String id) {        this.id = id;    }       .....................}

新增

    @ResponseBody    @RequestMapping(KEY_SAVE)    public AjaxResult save() {        Notice notice = mapping(PREFIX, Notice.class);        boolean temp = Blade.create(Notice.class).save(notice);        if (temp) {            return success(SAVE_SUCCESS_MSG);        } else {            return error(SAVE_FAIL_MSG);        }    }

修改

    @ResponseBody    @RequestMapping(KEY_UPDATE)    public AjaxResult update() {        Notice notice = mapping(PREFIX, Notice.class);        boolean temp = Blade.create(Notice.class).update(notice);        if (temp) {            return success(UPDATE_SUCCESS_MSG);        } else {            return error(UPDATE_FAIL_MSG);        }    }

删除

    @ResponseBody    @RequestMapping(KEY_REMOVE)    public AjaxResult remove(@RequestParam String ids) {        int cnt = Blade.create(Notice.class).deleteByIds(ids);        if (cnt > 0) {            return success(DEL_SUCCESS_MSG);        } else {            return error(DEL_FAIL_MSG);        }    }

自定义sql查询

  List<Map> list = Db.selectList("select * form news where title = #{title}", Paras.create().set("title", "标题测试"));
 String editor = Db.init("otherDb").queryStr("select editor form news where newsId = #{newsId}", Paras.create().set("newsId", 123));

根据md文件执行修改操作

 int cnt = Md.update("news.update", Paras.create().set("title", "标题测试").set("id", "1"));

根据条件修改

 boolean temp = Blade.create(News.class).updateBy("editor = #{editor}", "title = #{title}", Paras.create().set("title", "测试标题").set("editor", "编辑一"));

根据条件删除

    String ids = "1,2,3,4,5";    String[] idArr = ids.split(",");    int cnt = Blade.create(News.class).deleteBy("status in (#{join(ids)})", Paras.create().set("ids", idArr));

通用service

   public interface NoticeService extends IService<Notice> {    }    @Service    public class NoticeServiceImpl extends BaseService<Notice> implements NoticeService {    }    @Autowired    NoticeService service;    @ResponseBody    @RequestMapping(KEY_SAVE)    public AjaxResult save() {        Notice notice = mapping(PREFIX, Notice.class);        boolean temp = service.save(notice);        if (temp) {            return success(SAVE_SUCCESS_MSG);        } else {            return error(SAVE_FAIL_MSG);        }    }

分页封装

    @ResponseBody    @RequestMapping(KEY_LIST)    public Object list() {        Object grid = paginate(LIST_SOURCE, new IQuery() {            @Override            public void queryBefore(AopContext ac) {                if (ShiroKit.lacksRole(ConstShiro.ADMINISTRATOR)) {                    String condition = "and creater = #{creater}";                    ac.setCondition(condition);                    ac.getParam().put("creater", ShiroKit.getUser().getId());                }            }            @Override            public void queryAfter(AopContext ac) {                @SuppressWarnings("unchecked")                BladePage<Map<String, Object>> page = (BladePage<Map<String, Object>>) ac.getObject();                List<Map<String, Object>> list = page.getRows();                for (Map<String, Object> map : list) {                    map.put("createrName", SysCache.getDictName(102, map.get("creater")));                }            }        });        return grid;    }

后台界面


注:前端UI为ACE-ADMIN,如果商用请购买ACE-ADMIN的授权。

git地址:http://git.oschina.net/smallc/SpringBlade



酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部