`
lijingyao8206
  • 浏览: 219301 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

Spring AOP 织入初探--通过架构看实现

阅读更多

        最近静下心来回归技术书籍,一方面准备SCJP,一方面想把一些框架好好研究一下,倒不是应用,只是觉得以前颇少关注这些东西的实现,而现在越来越觉得,好的框架的设计思想很值得学习,而且对于应用方面也会有质的提升。于是就先从Spring入手吧。

       IOC在此就不谈了,懂得动态代理的童鞋都知道就是那么回事,再加点反射机制。AOP并不是Spring的专利,但是Spring提供的AOP实现却差不多够用了。这篇文章主要谈谈有关AOP织入的几个东东。先容我用封尘已久的EA画个小图……

 

       上面这张简单列出了AOP核心类图。左边可以看做一个抽象工厂模式,创建AopProxy。这里有两种Aop代理。一种是常用的Jdk中的Proxy实现,另一种是通过Cglib来实现的。前者在有接口指明的情况下才可以用。这取决于jdkAPI固有的实现方式。

       其实看Spring文档也好,各类书记也好,都把一些概念织入了我们大脑,神马joinpoint,advice,pointcut,introduction,targrt,proxy,weaving云云。去记这些新概念之类的还不如亲身体验一下Spring的奥妙。其实说AOP,很多人想到的就是日志,验证,事务。了解了AOP的实质,就会发现,它可以很轻便的让我们控制,而不是限定在某些应用了。需要缓存就加入缓存,通过before的advice。很多时候学习一种框架,学习一门技术,也是要迭代式的。边用边学边看边体会。

      我也是去年9,10月份学SSH的,但当时一直没有用,也只是停留在小项目小代码的阶段。很快也就忘记了,至于实现方式,神马动态代理,反射了也只知道一点点。但现在剖开Spring的代码,才发现,设计模式纷繁复杂,代码结构精巧灵活。我们在不追求什么设计模式,不追求华丽实现的时候,往往自然而然地达到了目的了。还记得校招的时候听聂风说,淘宝刚开始也没有想去盈利,前几年一直是入不敷出的,但是在做的时候,在把客户第一作为目标的时候一点点实现,随之而来的金钱也是自然而然的。而这种收获所带来的喜悦和一开始就以盈利为目的所得到的结果来说,肯定是感受不同的。

       写得有点零散了,其实主要是要把小图乘上,有时候想不起来AOP了,看看这张图会牵出很多思绪的。要午睡了,今天先到这儿~

       最后,奉上一点程序猿的冷笑话,生活繁忙而充实,不忘冷冷一笑:

       一位IT经理走进一家面馆,问?:“你们需要客户端吗?”老板答,面一般是伙计端,忙的时候才要客户端。

  • 大小: 131.5 KB
1
0
分享到:
评论
2 楼 lijingyao8206 2010-12-16  
xm_king 写道
前段时间看了《深入Spring技术内幕》,上面剖析的还可以,有时间看一下

那本书也看了~不是特别好,分析的不多,不是很透彻~介绍一本介绍清晰点的书——《Spring揭秘》,还有《SpringMVC与Web Flow》都不错。
1 楼 xm_king 2010-12-15  
前段时间看了《深入Spring技术内幕》,上面剖析的还可以,有时间看一下

相关推荐

    spring-3.1.0中文版api帮助文档

    - **Spring AOP基础概念**:Spring框架中的AOP实现细节。 **3.2 AspectJ 6初探** - **AspectJ介绍**:了解AspectJ 6的新特性和改进。 **3.3 老式Spring AOP** - **传统Spring AOP**:回顾早期Spring AOP的实现...

    Spring3_权威开发指南

    - **老式Spring AOP**:回顾了早期版本的Spring AOP实现方式。 - **基于@AspectJ的Spring AOP**:讲解了如何使用@AspectJ注解来定义切面,这种方式更加灵活且功能强大。 - **基于<aop:config/>元素的AOP**: - **...

    开源框架 Spring Gossip

    <br>AOP 入门 AOP 的观念与术语都不是很直觉,可以先从代理机制(Spring 实现 AOP 的一种方式)来看看实际的例子,从而了解 AOP 的观念与各种术语。 从代理机制初探 AOP 动态代理 <br>AOP 观念与...

    pring初探共18页.pdf.zip

    4. **AOP**:介绍什么是切面,切点,通知,连接点等概念,以及如何在Spring中实现AOP来实现横切关注点,如日志记录、事务管理等。 5. **Spring MVC**:Spring用于Web开发的部分,解释Model-View-Controller模式,...

    spring in action 最新

    AOP则允许开发者在不修改原有代码的情况下,通过切面来实现跨切点的关注点,如日志记录、事务管理等。 书中详细阐述了如何在Spring中创建和配置服务层(Service Layer)以及数据访问对象(DAO)。对于服务层,作者...

    spring 帮助文档

    Spring AOP实现了基于代理(proxy-based)的AOP机制,通过代理对象拦截目标对象的方法调用并执行额外的逻辑。 **3.1.2 Spring AOP基础概念** Spring AOP的核心概念包括切面(aspect)、连接点(join point)、通知...

    2.spring_beginning

    《Spring框架初探》 Spring框架是Java企业级应用开发中的重要组成部分,它以其轻量级、模块化和全面的特性赢得了广大开发者喜爱。本文将深入探讨Spring框架的基础知识,帮助初学者理解并掌握这一强大的工具。 首先...

    Spring培训资料

    - **Web层架构**:基于Spring MVC实现,提供了一套灵活且强大的机制来处理Web请求。 **4.2 Web层分发器和配置** - **Web层的核心DispatcherServlet**:作为Spring MVC的核心组件,负责接收前端的HTTP请求,并将...

    Hello-Spring:Java - Eclipse IDE 4.2.2

    《Spring框架初探:基于Eclipse IDE 4.2.2的Hello World示例》 在编程领域,Spring框架是Java开发中不可或缺的一部分,尤其在企业级应用开发中更是广泛使用。本文将深入探讨如何使用Eclipse IDE 4.2.2这个强大的...

    hibernate+spring_struts开发的学生信息管理系统(初级版)

    《基于Hibernate+Spring+Struts的学生信息管理系统初探》 在Java开发领域,Spring、Hibernate和Struts是经典的“SSH”框架组合,常用于构建企业级应用,如本例中的学生信息管理系统。这个初级版系统展示了如何将这...

    Struts2讲义-作者:吴峻申

    - 拦截器基于AOP(面向切面编程)思想实现。 - 当请求到达时,Struts2会根据配置找到相应的拦截器栈,并按顺序执行每个拦截器。 - **在Struts2中配置自定义的拦截器**: - 可以通过实现`Interceptor`接口或继承`...

    java网上商城的初期模板,仅供参考

    1. **第三方支付**:如支付宝、微信支付等,通过SDK或API接入,实现在线支付功能。 六、前端技术 1. **HTML/CSS/JavaScript**:基础的网页结构和样式,以及交互逻辑实现。可以结合Bootstrap、jQuery等库增强用户...

Global site tag (gtag.js) - Google Analytics