`
jackmisweijie
  • 浏览: 72434 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类
最新评论

第五章 面向切面编程(AOP)之二

 
阅读更多
        上一次在第五章中简单的介绍了一下 AOP中几个常用的功能,现在我想通过实际的例子来说明它强大的功能,这些例子是项目中实际用到的,而不是一些没有使用价值的例子。我会介绍它在一个完整的系统中用到的地方,有日志处理,异常处理,事物处理,身份验证(权限控制),缓存机制(二级缓存)。这应该是aop最拿手的了。我会通过写一个很小的Demo把这些功能全部容纳进去。
     在你的系统中能否充分发挥aop的作用,一定要保证你的系统要有良好的架构设计和良好的代码编程,我们知道在spring中提倡面向接口和使用代理的编程思想.如果没有好的设计架构和良好的代码编程。即使用上了aop 在性能上也会受影响的。我们知道系统中任何一个环节都很重要。一个环节出问题,可能就会影响到整体的性能。这是我们最难做到的,做到十全十美。在做之前一定要有一个比较完美的解决方案。
   接下来我将通过写一个简单的系统,系统的简单描述,不同身份登陆到系统可以执行不同的操作,普通用户可以浏览信息,一般用户可以添加信息,高级用户可以执行所有的操作。就是一个简单的新闻发布系统的简单后台管理。我主要是把aop的几种常用的功能集成到系统中。这个系统的功能比较简单,但业务的需求还是可以用到上面提到的几种功能的。
   我们简单的介绍一下流程。
   普通用户登录后,只能看到最新的新闻信息。不能执行其他任何操作。同时要通过日志记录最近的登陆的用户。
   一般用户,也就是编辑,他们进去后可以添加新闻,修改新闻。但不能删除新闻,系统也要对他们的操作进行记录。
  最后就是管理员(高级用户),可以删除一系列的操作了。同时也记录信息。在删除时一定要加上事务处理,以防数据意外丢失。
  他们登陆之前都要进行身份验证。对访问比较频繁的页面要实行缓存策略。这样才能保证系统的更好的运行。这几个简单的操作已经把我们提到的几个功能都用到了,下面就看你如何集成到你的业务中去,如何用代码来写了。同时也要考虑到性能的问题。
   现在我先把工程搭建一下。用struts+spring+hiberante技术来实现。数据库用MySql.日志记录用常用的log4j,安全框架用acegi,缓存用EHCache.事务就用spring自带的了。
 我们的需求分析完了,再看看技术框架如何搭建。如下图。
  下面是工程目录的搭建。如下图。我以后用到那部分我会在详解的讲解。
 
   今天先写到这.
分享到:
评论

相关推荐

    aop 面向切面编程 demo

    面向切面编程(AOP)是一种编程范式,它旨在将关注点分离,使得系统中的核心业务逻辑与系统服务(如日志、事务管理、权限控制等)可以解耦。在Android开发中,AOP的应用可以帮助我们更好地组织代码,提高可维护性和...

    第十四章面向切面编程(SpringAOP)PPT文档.pptx

    面向切面编程(AOP)是Spring框架的重要特性,它允许开发者将关注点分离,将横切关注点(如日志、事务管理、安全检查等)从核心业务逻辑中解耦出来。Spring AOP实现了Aspect Oriented Programming(面向切面编程),...

    AOP面向切面编程的JavaScript实现

    面向切面编程(Aspect-Oriented Programming,AOP)是一种编程范式,旨在将关注点分离,使得系统中的交叉关注点,如日志、事务管理、权限检查等,可以从核心业务逻辑中解耦出来。在Java领域,Spring框架是AOP的典型...

    面向切面编程 动态代理的经典例子

    面向切面编程(AOP,Aspect Oriented Programming)是一种编程范式,旨在将关注点分离,使得业务逻辑和系统服务(如日志、事务管理、权限控制等)能够解耦。这种编程方式允许程序员定义“切面”,这些切面封装了特定...

    spring切面AOP所使用的jar包

    Spring框架的AOP(面向切面编程)是其核心特性之一,它允许开发者在不修改原有代码的情况下,通过切面来插入额外的功能,比如日志记录、事务管理、性能监控等。在Spring AOP中,主要涉及到两个重要的库:...

    spring-aop面向切面系统日志案例

    在IT行业中,Spring AOP(Aspect Oriented Programming,面向切面编程)是Spring框架的核心特性之一,它使得我们能够以一种声明式的方式处理系统中的横切关注点,如日志记录、事务管理、性能监控等。这个“spring-...

    spring aop 自定义切面示例

    在Spring AOP(面向切面编程)中,自定义切面是实现业务逻辑解耦、增强代码可维护性的重要手段。AspectJ是一个强大的面向切面的编程库,它提供了与Spring AOP集成的能力,使我们可以编写更为灵活和模块化的代码。...

    jdk机制实现面向切面编程

    面向切面编程(AOP)是一种编程范式,它允许程序员定义“横切关注点”,如日志、事务管理或安全检查,这些关注点通常会分散在应用代码的多个部分。AOP的主要目标是提高代码的可重用性和模块化,减少冗余,并将核心...

    android面向切面AOP demo

    面向切面编程(Aspect-Oriented Programming,AOP)是一种编程范式,它旨在提高代码的可维护性和可重用性,通过将关注点(如日志、事务管理等)从核心业务逻辑中分离出来。在Android开发中,AOP也被广泛应用于处理如...

    面向方面编程_AOP_介绍.pdf

    ### 面向方面编程(AOP)介绍 #### 一、面向方面编程产生的背景 在软件开发领域,面向对象编程(OOP)是长期以来的主要编程范式之一。然而,在实际的软件开发过程中,经常会遇到一些跨越多个类或模块的关注点,如...

    第五章示例代码__AOP入门

    在本章节中,我们将深入探讨AOP(面向切面编程)这一重要的编程概念,并通过具体的示例代码来帮助初学者入门。AOP是现代软件开发中的一个重要技术,它旨在提高代码的可重用性和模块化,减少代码冗余,使得程序更加...

    spring面向切面

    面向切面编程(Aspect-Oriented Programming,AOP)是Spring框架中的一个重要概念,它旨在通过将关注点分离,提高代码的可维护性和模块化。在传统的面向对象编程中,我们通常将业务逻辑和横切关注点(如日志、事务...

    AopDemo 一位大神些的高级 c# Aop切面的demo

    C#中的AOP(Aspect-Oriented Programming,面向切面编程)是一种编程范式,它旨在提高代码的可重用性、模块化和可维护性。AOP通过将关注点(如日志、事务管理、安全性等)从主业务逻辑中分离出来,实现了程序的解耦...

    AOP编程入门

    面向切面编程(Aspect-Oriented Programming,简称AOP)是一种编程范式,它旨在通过将横切关注点(cross-cutting concerns)从业务逻辑中解耦,提高系统的模块化程度。所谓“横切关注点”是指那些贯穿于应用各个层面...

    第3章 Spring AOP.ppt

    Spring AOP,全称为Spring面向切面编程,是Java EE企业级应用开发中的一个重要组成部分。它提供了一种在不改变原有代码的情况下,通过添加额外功能(如日志、事务管理)来增强程序的能力。AOP的主要目标是解决传统...

    第九章 Spring4 AOP

    标题 "第九章 Spring4 AOP" 指的是Spring框架中的面向切面编程(Aspect-Oriented Programming,简称AOP)部分。AOP是Spring框架的核心特性之一,它允许开发者在不修改原有业务代码的情况下,对系统进行横切关注点的...

    第二章:Spring AOP 基础1

    在本章"Spring AOP 基础1"中,我们主要探讨了Spring AOP(面向切面编程)的核心概念和实现方式。AOP是一种编程范式,它允许程序员定义"切面",这些切面封装了跨越多个对象的横切关注点,如日志、事务管理等。以下是...

    C# 实现 AOP微型框架

    C#实现AOP微型框架是将面向切面编程(Aspect-Oriented Programming)的理念应用于C#编程中的一个实践。在VS2008环境下开发的这个框架,为开发者提供了一种方便的方式来插入横切关注点,如日志、事务管理、性能监控等...

    第十四章 Spring4 切面事物与事物通知与传播行为

    在IT领域,Spring框架是Java开发中的核心组件之一,它为开发者提供了许多强大的功能,包括依赖注入、面向切面编程(AOP)以及事务管理。本章将详细探讨Spring4中的切面事务处理、事物通知以及传播行为。 一、切面...

    aop学习

    面向切面编程(AOP,Aspect Oriented Programming)是一种编程范式,旨在将关注点分离,使得系统中的横切关注点,如日志、事务管理、权限检查等,可以从核心业务逻辑中解耦出来。AOP的核心概念包括切面、连接点、...

Global site tag (gtag.js) - Google Analytics