spring自动化小工具

近一段时间一直在搞spring研究和开发,在开发的过程中总结出一个规律就是任何一个系统只要定好了一个模块的层次结构,那么其他模块都是仿此类进行构建的,但是这些模块的包、类却需要我们一个个的来手动创建,然后创建成功后,还要在bean定义文件中设置这些类的关联属性等。这大量的重复工作无疑是枯燥的,而且一不小心还会弄错,尤其是N多模块一起创建时(设计时设计出来了的),然后配置bean定义文件就很容易出错。因此,我利用昨天的时间总结了,然后写了一个自动化的创建模块包和类,然后统一生成bean定义文件的小工具类包,自己就小称呼其为“autoSpring”了,呵呵~~~

    且看我的整个处理流程调试输出:

[DEBUG]:[autoSpring]开始创建~~~~

[DEBUG]:检查配置信息的完整性……
[DEBUG]:检查配置信息的完整性检测成功!
[DEBUG]:检查配置信息中的路径信息的正确性……
[DEBUG]:检查配置信息中的路径信息的正确性成功!
[DEBUG]:检查各模块的信息完整性……
[DEBUG]:检查各模块的信息完整性成功!
[DEBUG]:检查各模块的包名称是否重复……
[DEBUG]:检查各模块的包名称是否重复成功!
[DEBUG]:检查各模块的包路径的正确性……
[DEBUG]:检查各模块的包路径的正确性成功!
[DEBUG]:检查模板信息的完整性……
[DEBUG]:检查模板信息的完整性成功!
[DEBUG]:创建包:cn/qtone/edu
[DEBUG]:创建包:cn/qtone/edu/user/controller
[DEBUG]:创建包:cn/qtone/edu/user/service
[DEBUG]:创建包:cn/qtone/edu/user/dao
[DEBUG]:创建包:cn/qtone/edu/role/controller
[DEBUG]:创建包:cn/qtone/edu/role/service
[DEBUG]:创建包:cn/qtone/edu/role/dao
[DEBUG]:创建文件:D:/JavaPro/components/src/cn/qtone/edu/user/controller/UserController.java
[DEBUG]:创建文件:D:/JavaPro/components/src/cn/qtone/edu/user/service/UserService.java
[DEBUG]:创建文件:D:/JavaPro/components/src/cn/qtone/edu/user/dao/IUserDAO.java
[DEBUG]:创建文件:D:/JavaPro/components/src/cn/qtone/edu/user/dao/UserDAO.java
[DEBUG]:创建文件:D:/JavaPro/components/src/cn/qtone/edu/role/controller/RoleController.java
[DEBUG]:创建文件:D:/JavaPro/components/src/cn/qtone/edu/role/service/RoleService.java
[DEBUG]:创建文件:D:/JavaPro/components/src/cn/qtone/edu/role/dao/IRoleDAO.java
[DEBUG]:创建文件:D:/JavaPro/components/src/cn/qtone/edu/role/dao/RoleDAO.java

********************************
请刷新整个项目,确定成功后再继续!
********************************
已成功刷新项目?(y/n)y
[DEBUG]:[autoSpring]创建成功!

    通过配置一个文件,然后我们就可以一次性的创建很多模块的各个包及类,这里使用jsonlib来解析配置文件的内容,然后通过freemarker来解析模板生成文件。我的整个配置文件如下:

{
    "configer" : {
        "projectPath" : "D:/JavaPro/components",
        "basePackage" : "cn.qtone.edu",
        "author" : "铁木箱子",
        "version" : "1.0",
        "beanFile" : "/autoSpring/test2.xml",
        "namingSpace" : "edu"
    },
 
    "modules" : [
        {
            "moduleName" : "user",
            "modulePackage" : "user",
            "moduleDescribe" : "用户管理模块",
            "serviceProperty" : "ServiceBean",
            "daoProperty" : ""
        },
        {
            "moduleName" : "role",
            "modulePackage" : "role",
            "moduleDescribe" : "角色管理模块",
            "serviceProperty" : "ServiceBean",
            "daoProperty" : ""
        }
    ]
}

    通过这样简单的配置我们可以配置多个模块,当然还需要配合几个模板文件咯,呵呵,然后我们一次运行就搞定所有的包、类的生成以及bean定义文件的生成了~~~~比如下面我们的controller的模板文件:

package ${package};

import cn.qtone.common.mvc.controller.spring.NormalController;
import ${serviceImport};

/**
 * ${moduleDescribe}.
 * 
 * @author ${author}
 * @version ${version}
 *
 */
public class ${controller} extends NormalController
{
     protected ${service} getService()
    {
        return (${service})this.getServiceBean();
     }
}

<#--

模块的控制器模板.该模板中可以使用的变量有:

package        : 其控制器所在的包全路径
serviceImport  : 与该包相关的业务处理类的导入全路径
service        : 与该包相关的业务类的类名称
moduleDescribe : 该模块的描述
author         : 模块的作者
version        : 模块的版本号
controller     : 控制器的类名称

-->

    这个sohu博客不允许上传附件,要不也就放上来了,呵呵~~~~~ 大笑 通过这个我们就可以很方便的进行自动化各个模块的创建了~~~

原文连接:http://j2ee.blog.sohu.com/69176057.html

posted @ 2012-03-03 23:32  weep  阅读(178)  评论(0)    收藏  举报