struts+spring+ibatis轻量级J2EE开发(4)
2、业务类的修改
以orderservice为例:
public class orderservice {
/* private fields */
private itemdao itemdao;
private orderdao orderdao;
private sequencedao sequencedao;
/* constructors */
public orderservice() {
}
/**
* @param itemdao 要设置的 itemdao。
*/
public final void setitemdao(itemdao itemdao) {
this.itemdao = itemdao;
}
/**
* @param orderdao 要设置的 orderdao。
*/
public final void setorderdao(orderdao orderdao) {
this.orderdao = orderdao;
}
/**
* @param sequencedao 要设置的 sequencedao。
*/
public final void setsequencedao(sequencedao sequencedao) {
this.sequencedao = sequencedao;
}
//剩下的部分
…….
}
红色部分为修改部分。spring采用的是type2的设置依赖注入,所以我们只需要定义属性和相应的设值函数就可以了,itemdao,orderdao,sequencedao的值由spring在运行期间注入。构造函数就可以为空了,另外也不需要自己编写代码处理事务了(事务在配置中声明),daomanager.starttransaction();等与事务相关的语句也可以去掉了。和原来的代码比较一下,是不是处理精简了很多!可以更关注业务的实现。
4. 结束语
ibatis是一个功能强大实用的sql map工具,可以直接控制sql,为系统设计提供了更大的自由空间。其提供的最新示例程序jpetstore 4.0,设计优雅,应用了迄今为止很多最佳实践和设计模式,非常适于学习以及在此基础上创建轻量级的j2ee web应用程序。jpetstore 4.0是基于struts的,本文在此基础上,最大程度保持了原有设计的精华以及最小的代码改动量,在业务层和持久化层引入了spring。在您阅读了本文以及改造后的源代码后,会深切的感受到spring带来的种种好处:自然的面向接口的编程,业务对象的依赖注入,一致的数据存取框架和声明式的事务处理,统一的配置文件…更重要的是spring既是全面的又是模块化的,spring有分层的体系结构,这意味着您能选择仅仅使用它任何一个独立的部分,就像本文,而它的架构又是内部一致。
Tag: Struts ,spring ,ibatis
文章整理:iocblog
版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。