传智播客——BBS(1)

今天是老师讲BBS的第一天,对老师是彻底佩服了。年龄大不了我们几岁,可是娴熟的Eclipse快捷键使用,节奏感强的敲击键盘声和对开发流程的深入体会不得不让人叹为观止。

今天老师主要对ITCASTBBS做了一个整体的分析以及完成BBSDAO持久层代码的编写。ITCASTBBS主要使用了StrutsHibernate框架开发,下面照常对今天老师ITCASTBBS课程进行归纳总结。

1.       基于MVC的设计模式,层与层之间需要使用接口,不与具体的实现类关联

2.       显示层Struts开发中使用DispatchAction把一组业务相关的方法放在一个类中

3.       设置源码路径,以利于源文件,测试文件和配置文件的分类管理

4.       持久层DAO的设计:

虚线代表实现,实线代表继承,类型参数不确定的情况下,用T,由子类去确定类型参数。

5.       使用ThreadLocal类存储HibernateSession实体,以保证线程安全

6.       使用Filter对所有Action请求进行DAO事务异常处理,使用if判断语句处理空指针异常

7.       注意:HibernateStruts整合时,commons-beanutils包和commons-collections包中的FastHashMap.class可能冲突。解决方法:Spring开发包中lib下有可以兼容的commons-beanutils包和commons-collections包,替换就O了。

8.       显示层与业务层,业务层与持久层之间通过接口进行关联,接口必须要有具体的实现才能使用,所以会出现大量的new()对象。这里可以使用BeanFactory工厂模式对所有的ServiceDAO进行管理,需要使用时调用相应的getBean()方法获取接口的具体实现。

9.       BeanFactory工厂的设计:建立properties文件用于存放key和与key相关联的接口实现类,在工具类BeanFactory中建立Map集合用于存放key和与key相关联的接口实现类,getBean()根据不同的键值key返回相应的接口的实例,init()方法读取properties配置文件,然后根据配置生成相应的实例对象,且放在beans集合中。

10.       init()初始化方法要保证在第一次调用getBean()方法之前被调用,且只被调用一次,可以使用静态代码块的方法对init()方法进行封装。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值