1、IOC 表示控制反转。

  简单点说就是原来的对象是在要使用之前通过在代码里通过new Something()的方式创建出来的;

  IOC则是由spring容器创建同一创建,在程序要使用到该对象的时候,自动注入。(spring默认在web容器启动的时候就创建了单例的对象)

  IOC最大的作用是减少了代码之间的耦合度。

2、AOP

AOP(Aspect-Oriented Programming)其实是OOP(Object-Oriented Programing)
思想的补充和完善。我们知道,OOP引进"抽象"、"封装"、"继承"、"多态"等概念,对万事万物进行抽象和封装,来建立一种对象的层次结构,它强调了
一种完整事物的自上而下的关系。但是具体细粒度到每个事物内部的情况,OOP就显得无能为力了。比如日志功能。日志代码往往水平地散布在所有对象层次当
中,却与它所散布到的对象的核心功能毫无关系。对于其他很多类似功能,如事务管理、权限控制等也是如此。这导致了大量代码的重复,而不利于各个模块的重
用。   而AOP则恰恰相反,它利用一种称为"横切"的技术,能够剖解开封装的对象内部,并将那些影响了多个类并且与具体业务无关的公共行为 封装成一个独立的模块(称
为切面)。更重要的是,它又能以巧夺天功的妙手将这些剖开的切面复原,不留痕迹的融入核心业务逻辑中。这样,对于日后横切功能的编辑和重用都能够带来极大
的 方便。

AOP技术的具体实现,无非也就是通过动态代理技术或者是在程序编译期间进行静态的"织入"方式。下面是这方面技术的几个基本术 语:

1、join point(连接点):是程序执行中的一个精确执行点,例如类中的一个方法。它是一个抽象的概念,在实现AOP时,并不需要去 定义一个join point。

2、point cut(切入点):本质上是一个捕获连接点的结构。在AOP中,可以定义一个 point cut,来捕获相关方法的调用。

3、advice(通知):是point cut的执行代码,是执行“方面”的具体逻 辑。

4、aspect(切面):point cut和advice结合起来就是aspect,它类似于OOP中定义的一个类,但它代表的更多是对 象间横向的关系。

5、introduce(引入):为对象引入附加的方法或属性,从而达到修改对象结构的目的。

最新文章

  1. hdu2005第几天?
  2. 20145221高其&20145326蔡馨熠《信息安全系统设计基础》实验二 固件设计
  3. BZOJ 1797 最小割
  4. 重构20-Extract Subclass(提取父类)
  5. Linux学习之路一计算机是如何工作的
  6. Jquery Ajax方法传递json到action
  7. linkedin和facebook的区别
  8. 通过qsort(void * lineptr[], int left, int rifht, int (*comp)(void *, void *))解读指针函数和void指针
  9. 使用IDEA快速插入数据库数据的方法
  10. PowerDesigner使用方法
  11. go语言fallthrough的用法心得
  12. PHP中如何命令行
  13. 微信公众号与APP微信第三方登录账号打通
  14. 2. 自动化运维系列之Cobbler给Openstack节点安装操作系统。
  15. 【转载】Android Bug分析系列:第三方平台安装app启动后,home键回到桌面后点击app启动时会再次启动入口类bug的原因剖析
  16. c++细节--section1
  17. 20155333 2016-2017-2 《Java程序设计》第一周学习总结
  18. 关于微信支付URL未注册其中的坑THINKPHP5
  19. HTML 段落p
  20. rest_framework之访问频率控制

热门文章

  1. 用nodejs调用webservice
  2. spring 5.x 系列第7篇 —— 整合Redis客户端 Jedis和Redisson (xml配置方式)
  3. 从Excel到Python 数据分析进阶指南
  4. 获取Class的实例
  5. oh-my-zsh自定义配置
  6. [apue] dup2的正确打开方式
  7. php如何定义数组常量
  8. Java程序运行原理分析
  9. 嵊州D2T1 “我只是来打个电话”
  10. Contiki源码分析--CPU为cc253x里的uart0.c