spring-day04(spring-day04).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
spring-day04(spring-day04)

spring-day04(spring-day04) 3 ~ 4 / 10 | 2009 - 06 - 18 | 星期四 aop 概念 经典aop实现 jump spring 2.0 基于xml声明的aop实现 ------------------------ 相关概念 面向方面 (切面) 的编程 aspect oriented programming 关注点 (group) 应用要考虑的问题或者说应用要达到的目标 比如: 业务逻辑, 安全, db事务边界, 持久化, 远程服务等 在一般oop应用中, 安全检查, db事务控制, 日志等代码 穿插 在业务逻辑中 这种代码被称为横切关注点 (cross cutting 这里一条语句 group), 那里一条语句, 穿插在里面 注意: oop不能把横切关注点模块化的因为没有什么顺序可言, 而aop就是解决这个问题的 方面 (aspect) 就是横切关注点 (主要有行为和位置), 在 jump 中由advisor表示 aop编程: 抽象出aspect 对aspect编程, 行为是 advice (抽象出的行为) 位置是pointcut 织入 (weaving) 把 aspect 加入到核心业务逻辑中 织入由aop框架实现, 不需要编程 通过代理实现的, 生成代理核心类proxyfactorybean aop的目标或意义 将 aspect 与 核心业务逻辑 解耦 (将非业务逻辑写到别处, 运行时再织入 (通过配置文件实现 内存中实现的)) 示例: 表演前观众入座 核心接口和类: methodbeforeadvice - 接口, 需实现, 提供切面前置行为 jdkregexpmethodpointcut - 实现类, 需配置, 以正则表达式匹配方法 defaultpointcutadvisor - 实现类, 需配置 proxyfactorybean - 实现类, 需配置 理解: 代理模式 - actable, actor, broker advice - - what, 要加入的行为是什么 pointcut - where, 在哪里加入行为 (与哪个业务方法关联) aspect - 即advisor, 由advice + pointcut组合而成 target - 业务逻辑对象 aspect 被织入的目标 factorybean - 工厂bean, 用于生成其他类型bean的bean 修改: 使用regexpmethodpointcutadvisor 内置了pointcut的advisor advisor是加了过滤器的advice 演员表演前加入观众就坐的行为, 业务方法执行前执行 示例: 观众鼓掌及抗议 核心接口: afterreturningadvice throwsadvice 理解: advice (what, when) - 要做什么, 及什么时候做 (与业务方法的先后关系) 的方法的参数 advice 修改: 使用 methodinterceptor 三项全能的 advice 示例: 表演前剧院先开门 - 又一个aspect 理解: 一个目标对象可以添加多个aspect 自动代理创建器 若有多个对象需要织入aspect, 则需要一一声明相应的代理 自动代理创建器可以使你摆脱这个麻烦 示例: 为teacher - 新expert, 织入即有的 aspect 有接口则自动生成代理对象 没有接口创建子类重写方法然后注入行为, 调用父类的方法 自动为所有的advisor (指定的行为和位置) 创建代理对象 bean class = defaultadvisorautoproxycreator xml based aop 任意个字符两个组合 * work. Spring 2 defines POJO as Aspect through the XML tag declaration. The new tag is based on the namespace of the AOP, not the beans Example: use the XML declaration to make the audience seated before the show Example: woven into other behaviors of the audience Core tags: refer to spring-reference Aop:config, including pointcut, aspect and so on, can appear many times / root tag Aop:aspect - a reference to the POJO, cont

您可能关注的文档

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档