汤阳光_Spring2.5课程文档(一)剖析
Spring基础
以上代码是有问题的,即“在Service中引用的具体的实现类”,这样就和具体的实现类耦合在了一起,如果要更换(比如要换成OracleUserDaoImpl),就需要修改源代码。
怎么样才能不依赖实现类呢?
可以使用工厂模式,让UserDao的实现在在工厂中生成,而工厂是可以配置的,如下:
以上代码就是通过工厂实现的与实现类的解耦,这种情况下如果想要更新别外一个实现类,只需要修改配置文件就可以了。
再想想
如果对象有很多,且互相依赖,并且有的对象需要单例模式,有的则需要多个实例,这又怎么办呢?那就要再完善一下这个工厂类了,让工厂可以处理这些问题,这就是一个复杂一点的工厂类了。
问题二:事务控制
对于事务,可以使用Filter或是Struts2的拦截器实现,但这样有一些不好的地方:
这是在显示层管理的事务,事务太长。
有的action方法没有用到数据库操作,不需要开事务。
不能针对某个具体功方法配置事务是否是只读的,因为有的方法只是查询数据。
...
如果能在业务层管理事务就更好了。这可以在每个业务方法中都写上管理事务的代码,但这样代码太多,也可以使用代理的方式实现(如JDK的动态代理)。
概念:控制反转IOC,Inversion of Control)
public class PersonServiceBean {
private PersonDao p
您可能关注的文档
- 江西省南昌一中、十中、铁一中三校2016高三12月联考化学试卷剖析.doc
- 江西省赣州黄金中学2015-2016学年第一学期七年级第二次月考语文试题剖析.doc
- 江西省樟树中学、高安市第二中学2015-2016学年高二地理上学期期末联考试题剖析.doc
- 江西省赣州市2016年高三年级第一次模底考试理综物理试题(含答案)剖析.doc
- 江西省重点中学协作体(新余一中、鹰潭一中、九江一中、临川一中)2016届高三下学期第一次联考理综试卷剖析.doc
- 江西省重点中学协作体2016届高三下学期第一次联考文综地理试题及答案剖析.doc
- 江西省网上学法用法及考试系统后台管理人员操作手册剖析.docx
- 江西省重点高中2016届高三下学期九校联考语文试题剖析.doc
- 基于项目管理试卷自动生成实现精选.docx
- 江西省重点中学协作体2016届高三下学期第一次联考理综试题Word版含答案剖析.doc
最近下载
- 机场油库安全管理制度体系优化研究.docx VIP
- 医学课件-《甲状腺讲》教学课件.pptx VIP
- 专题05透镜及其应用-2007-2016十年初中物理竞赛分类解析(学生版).pdf VIP
- 2007-2016十年初中物理竞赛分类解析专题10 浮力.pdf VIP
- 2026年版-FOCUSPDCA降低骨科I类切口手术部位感染率CQI-新版课件.pptx
- 如何获得免费的网络来注册一个免费的电子邮箱账户.pdf VIP
- 西方艺术史PPT课件.pptx VIP
- 《喀斯特地貌》课件.ppt VIP
- 2025年课件-FOCUSPDCA提高青少年近视防控知识普及率CQI(眼科)-新版.pptx
- 2025上海辅警面试题目及答案.doc VIP
原创力文档

文档评论(0)