春天里,百花香...
SSH
Struts1,Spring,Hibernate
摘要: 在基于Model2的应用中,控制层的类总会包含对业务层诸类的调用,业务层诸类不可避免的要产生各种异常,如果统一到控制层进行处理的话会导致代码变得庞大臃肿还有不少重复,这种的例子在Web应用中的Servlet和Action诸类中并不少见。
如果我们使用模板方法模式(Template Method Pattern)将业务处理和异常处理分开,能有效简化控制层诸类的代码,借用这种模式,我们可以把固定的异常处理代码放在基类中,而让子类来实现具体的业务,如果执行业务过程中出现异常如数据库无法连接,用户找不到等异常后,直接将异常抛出让基类来处理,这样做成功的把业务处理和异常处理分开到了子类和基类两种类中,涉及具体业务处理的子类代码得到了很大的简化,更方便阅读,修改和管理。
有点疑惑的是,现在还不确定这样做会有什么消极印象,如安全性或结构方面的,大家要是觉得有问题请不吝赐教。
阅读全文
摘要: 一般来说涉及数据库的应用中,表的主键有两种生成方案,一种是专门定义一个主键表,在其中放置一个自增长的字段为其它表提供主键;另一种是使用Oracle的sequence。这两种方案都有一定麻烦,Spring为此专门提供了一个ID增长器以简化具体步骤,下文就是它的相关使用方法的,使用的数据库是MySql5.
归纳
使用Spring的自增长ID生成器完成以下三步即可:
1)配置自增长id生成器,它需要一个数据源的支持。
2)根据配置将自增长id生成器注入DAO各类中。
3)使用nextStringValue,nextIntValue,nextLongValue方法得到ID。
阅读全文
摘要: Spring的AOP支持可以被用于从系统核心逻辑中分离交叉业务(cross-business)如日志,事务管理和安全等,使用AOP,你可以用各种功能层来覆盖核心业务层,这些功能层可以灵活的应用到你的系统中,甚至核心业务层都不知道它们的存在,这是一个强大的概念。
AOP(aspect-oriented programming)的核心就是动态代理,掌握它对于理解AOP尤为重要,犹如反射对理解IoC一样。
阅读全文
摘要: Struts中,ActionServlet作为总控Servlet接受请求并转发到各Action,它的原理并不复杂,本文即展示了ActionServlet模拟实现过程。
阅读全文
sitinspring(http://www.blogjava.net)原创,转载请注明出处.