1 Star 1 Fork 1

getonecode / mvcx

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

#mvcx 需要jdk8及以上版本,在vertx,mybatis,guice,freemarker等框架技术上扩展的快速开发web应用的脚手架。 #框架特点

  1. 基于guice容器管理bean.通过config.json配置action.package,biz.package等包路径控制容器管理bean的范围
  2. 基于vertx开发http框架,请求与业务逻辑通过event机制解耦,并且业务逻辑块支持多实例部署,提高业务处理容量
  3. 基于cookie的session共享机制,默认支持分布式部署,不需要单独的提供共享的session存储
  4. 集成了基于角色,用户的权限控制模块(页面访问,不涉及数据权限)

#工程结构说明

core----核心工程
demo----演示工程代码
 ---app
    --assets -----静态资源文件
        js
        css
        img
    --temples ---- freemarker模板文件
        index.ftl
    --deploy
        build.sh部署启动脚本
        sql ----数据库初始化等脚本文件
 ---src
    --main
        guda.mvcx.demo.action ----负责web请求action
        guda.mvcx.demo.biz ----负责业务逻辑处理
        guda.mvcx.demo.dao ----负责数据库访问
    --resources
        auth.properties页面权限配置文件
        mapper  ----- mybatis配置文件
          userDAO.xml
        config.json ---全局配置文件

#demo说明 一个简单的action样例如下,通过@Action(注解在类上),@Req(注解在方法上)注解,来标记请求的路由。action方法默认支持RoutingContext, PageQuery(分页),Form(表单提交,如下面例子中的blogForm,继承自Form即可)

@Action
@Singleton
@Req("blog")
public class BlogAction {

    @Inject
    private UserBiz userBiz;
    @Inject
    private BlogBiz blogBiz;

    @Req(value = "list")
    public String list(RoutingContext context,BlogQuery blogQuery){
        blogQuery.setUserId(AuthUser.getCurrentUser().getUserId());
        blogQuery.setPageSize(10);
        BizResult bizResult = userBiz.queryBlogForAdmin(blogQuery);
        context.data().putAll(bizResult.data);
        return "blog/list.ftl";
    }

    @Req(value = "edit")
    public String edit(BlogEditForm blogEditForm,@ReqParam("blogId")Long blogId){
        if(blogId==null){
            return "error.ftl";
        }
        BizResult detail = blogBiz.queryForEdit(blogId);
        blogEditForm.initForm((BlogDO)detail.data.get("blogDO"));
        return "blog/edit.ftl";
    }

    @Req(value = "create")
    public String create(){
        return "blog/create.ftl";
    }

    @Req(value = "create",method = HttpMethod.POST)
    public String doCreate(BlogForm blogForm){
        if(blogForm.validateError()){
            return "blog/create.ftl";
        }
        BlogDO blogDO=blogForm.toDO();
        blogDO.setUserId(AuthUser.getCurrentUser().getUserId());
        blogDO.setBlogStatus(BlogStatusEnum.init.getVal());
        blogDO.setCountView(0);
        blogDO.setTagBest(0);
        blogDO.setTagTop(0);
        BizResult bizResult = blogBiz.create(blogDO);
        if(bizResult.success){
            return "blog/saveSuccess.ftl";
        }
        return "error.ftl";
    }


    @Req(value = "update",method = HttpMethod.POST)
    public String update(BlogEditForm blogEditForm){
        if(blogEditForm.validateError()){
            return "blog/edit.ftl";
        }
        BlogDO blogDO=blogEditForm.toDO();
        BizResult bizResult = blogBiz.update(blogDO);
        if(bizResult.success){
            return "blog/saveSuccess.ftl";
        }
        return "error.ftl";
    }
}

空文件

简介

暂无描述 展开 收起
Java
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/getonecode/mvcx.git
git@gitee.com:getonecode/mvcx.git
getonecode
mvcx
mvcx
master

搜索帮助