论文部分内容阅读
OOP(Object-Oriented Programming,面向对象编程)作为一种优秀的编程思想,很好地解决了以前面向过程编程的不足。经过多年的发展,它已变得日趋成熟,对现代编程产生了广泛影响。OOP可以很好地解决软件系统中角色划分的问题。开发人员利用面向对象的分析、设计和实现能够将现实世界的实体转化为软件系统中的对象,从而自然地完成从现实到软件的转化。尽管如此,OOP还是存在着不足之处,比如在事务处理、权限管理和日志记录等方面。当人们运用OOP的思想将这些方面的代码封装到系统中的对象中时,会产生大量的冗余代码。虽然可以通过代码重构等方法减少这种冗余,但是却不够彻底。在这种情况下,AOP(Aspect-Oriented Programming,面向切面编程)应运而生。AOP通过分离系统的核心关注点和横切关注点,有效地降低了代码的耦合性,使得代码易于维护和重用。本文从实际应用的角度出发,研究了将基于AspectJ的AOP实现和当前流行的SSH框架(Struts2+Spring+Hibernate)相结合的AOP应用,并将其应用于一个实际的案例系统中。论文首先深入研究了AOP核心思想和基本概念,分析了当前比较流行的AOP实现AspectJ和Spring AOP,比较了它们的运行机制以及优缺点。并对当前J2EE平台下流行的SSH框架(Struts2+Spring+Hibernate)进行了详细分析和讨论。针对传统J2EE应用程序中业务逻辑代码与非业务逻辑代码交互混杂在一起的缺点,本文提出了AspectJ+SSH架构,既利用了轻量级J2EE框架分层开发的思想,又将AOP思想贯穿其中。这一点尤其体现在系统的事务处理、权限控制以及日志记录上。随后,以重庆邮电大学学生工作管理系统作为案例系统,成功地应用本文提出的AspectJ+SSH架构设计和实现了案例系统,并通过测试证明了本文中提出的框架的可行性。结果证实了该架构所具有的优越性。它能够成功地将业务逻辑代码和非业务逻辑代码相分离,降低了代码间的耦合度,使系统的扩展性得到了增强等。最后,本文对AOP的未来进行了展望。论文工作对于目前的J2EE开发具有一定的参考意义。