javaEE SSH框架 BaseAction的抽取以及其他方面代码优化

22 篇文章 1 订阅
19 篇文章 0 订阅

有关之前实体类的设计参考我前面的博客:http://blog.csdn.net/u013082989/article/details/50983650

项目文件已经放到Github上,欢迎大家Follow,star.地址:https://github.com/lawlite19/SmartEducation


一:抽取BaseAction
(1)先说一下ModelDriven的使用,比如用户登录,我想得到界面输入的用户账号userNum和用户密码password,可以在Action类中声明并实现get、set方法,对应到界面input的name属性一致,然后就可以得到 (也可以在Action中声明一个User user对象,对应到界面input的那么属性写user.userNum,user.password也可以得到)

使用 ModelDriven后,界面中name属性对应到对象的属性


可以直接在类中声明一个对象model,通过model.get()方法得到对象对应的属性即可。




(2)抽取BaseAction类,先说一下为什么要抽取,因为我们在每个Action中都要定义对应的对象model,我们可以抽取出来声明为泛型,通过反射得到对象的类型即可。

还有就是每个Action中可能会重复用到的Service接口对象,我们也都在BaseAction中将用到的接口对象声明为protected类型(前几天刚好复试c++,复习了一下类的关系),只要继承BaseAction就可以得到父类的Service接口对象了。


二:关于Dao层的调用代码优化
(1)因为之前我们在BaseDao中将公共的增、删、改、查代码抽取出来了,可以参考我的这篇博客后面的说明:http://blog.csdn.net/u013082989/article/details/50964133
又因为我们Service层经常会调用到 增、删、改、查,这样Service层又要重新写一遍,然后再去调用Dao层,这样就重复了(当然这样没有问题),我们现在将业务层Service和Dao层放在一起,将BaseDao改名为DaoSupport,Service层继承DaoSupport即可


dao层就不需要了


直接在Service层通过getSession()方法查询数据库 (getSession是DaoSupport中的,声明为protected类型,子类中就可以得到了)

(2)优化后的图示:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值