用户操作
[留言]  [发消息]  [加为好友] 
订阅我的博客
XML聚合    FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
xjxhd的公告
文章分类
    存档

    原创  ssh开发时目录的建议结构 收藏

    在用ssh开发web应用时,需要对生成的各个类文件进行组织,下面就对一个可行的目录方案进行介绍:

    譬如应用中有一个用户管理模块,则在公共包下建立一个user包,如该公共包可以为com.simon.oa,

    在user包下包括如下子包

    1、controler包

    该包放置各种struts的action。

    2、dao包

    该包放置各类dao(data access object),也就是放置对数据库访问的实现类,在用myeclipse中的“Hibernate Reverse Engineering”进行反向操作时在某一个目录中就会生成对应某个表的DAO,生成后可将该DAO拖到dao包中。在某些应用中将DAO作为接口,在该接口中包括所有对数据库的操作方法,然后在dao包建立一个hibernate包,在hibernate包中放置对DAO接口的实现,譬如:UserDAO接口有一个实现类为UserDaoImpl,将该类放置到hibernate包中,实际的开发倾向于后一种方式,因为对这个DAO接口可以实现spring的IoC操作。(不知道myeclipse对此是怎么考虑的,这个问题让我纠缠了很久,误将DAO理解成一个能够进行实际操作的类,而不是一个接口,以后开发要注意)

    3、model包

    该包中放置hibernate反向工程生成的bean和该bean对应的.hbm.xml文件。

    4、service包

    该包放置业务操作类,譬如用户服务类,一般情况将该用户操作类提取一个接口,然后在service包下生成一个impl包,在impl包中才放置用户操作接口的实现类。该用户接口实现类中调用DAO接口对数据库进行操作,而调用该实现类的方法在struts的action中。

    5、vo包(value object)

    vo包中的中包括struts中使用的POJO及actionform等信息。

    VO:  Value Object
    DTO: Data Transfer Object
    个人理解VO和DTO是类似的东西,原则上VO和DTO只有Public Fields,主要用于进程之间数据传递的问题,VO和DTO不会传递到表示层,在业务层就会被吸收。但看到很多人在建立VO和DTO时,也含有Setter,Getter属性和一些其它的辅助方法,这也无可厚非,我自己也不能确定这对不对。

    实际的结构如下:


     

    发表于 @ 2008年03月12日 11:31:00 | 评论( loading... ) | 编辑| 举报| 收藏

    旧一篇:myeclipse hibernate spring整合开发 | 新一篇:GlassFish安装及配置

    • 发表评论
    • 评论内容:
    •  
    Copyright © xjxhd
    Powered by CSDN Blog