wheel - MVC框架


GPL
跨平台
Java

软件简介

又一个MVC的轮子

1.简介


正如其名字一样,在现在框架横飞的时代,我又造了个轮子,不过我坚信将自己的理念加入的不同的轮子中是最好的学习和总结,就这样Wheel诞生了。Wheel是基于ASMSupport的一个Java
WEB MVC框架,其目的就是为了让我们快速的完成一个简易的Web application的开发。
Wheel的大部分实现,比如MVC,事务,注入等都通过动态生成Class来实现的。这样可以减少系统在运行时的开销和编码上的简洁。比如我们在做请求转发的时候,我们配置了”/test.action”请求将进入Test类的test方法,那么我们将生成一个类,这个类的将有如下内容:

if(path.equals("/test.action")){
    //获取Test实例,并且调用其test方法
}

当然,即便是在运行时自动生成class,也会有一定的系统开销,特别是在生成class的过程。所以为了权衡这种情况,我们提供了相应的maven插件wheel-
maven-plugin
。使用这个插件,那么在用maven编译的时候将会自动的将生成的class打包到war包中去,这样就和我们正常使用一个class是一样的了,运行的时候也没有任何影响。

2.特点


  • 简单易懂,上手快
  • 配置简单,采用Annotation配置,只有一个global.properties配置文件
  • 运行效率快,采用动态生成类的方式,减少系统开销
  • SQL文件分离管理,存储在properties文件中,更换数据库方便
  • 支持多种视图,并且可以自定义视图类型。目前支持velocity,jsp,json等
  • 支持多种数据库连接池策略,并且可以自定义实现方式,默认为直接连接,不采用连接池
  • 采用流行的dao,service,action三层模式。
  • 注入方式简单,只需要声明类属性并且可以采用private修饰,无需get,set,以及new方式

3.不足


  • 不支持多数据源,后期将逐步完善
  • 调试不方便,因为每次添加或者修改java类发布到server时都将重新生成所有的class,后期将逐步完善
  • 没有ORM,原则上讲,作为一个框架这也算是个缺点,后期将逐步完善
  • 只有dao,service,action三层。也就是只能在action层中注入service层或者dao层的类属性,或者在service中注入dao属性。这点灵活性不大,但是短期来看,并不准备打破这种模式。

注意:目前wheel并没有release,所以文档还没,当然大家可以通过下载地址用svn下载到本地。