zoukankan      html  css  js  c++  java
  • Spring的IOC和AOP

      IOC:即控制反转,主要意思就是Spring容器来管理对象的初始化,而不需要程序员人工的使用new方式来创建对象,并且当A对象依赖于B对象时,在配置文件中可以指定,同样不需要程序员在构造函数或是setter中进行对象注入。

      AOP:面向切面编程。其实就是一种新的不同于继承的代码重用技术。继承是将共性的地方都写在父类中,各个子类通过继承来复用这些共性的代码。或是将共性的代码抽取出来放入一个类中,凡是想使用这些代码的类,都可以组合这个类来实现功能。这两种方法,在一定方面上解决了部分代码重用。但是,代码重用的能力有限。

      下面我将以一个例子来说一下AOP。我举得例子是我们需要在每个DAO类存取数据之后打印一条日志。假设之前我们的DAO在存完后没有任何操作,现在我们需要满足需求,如果使用继承或是组合,不论如何我们都要修改原有的DAO类,这样就违反了开闭原则。所以,我们可以在Spring中这样使用:假设我们有一个代理类LogInterceptor,它会接收被代理的DAO对象,通过指定横切点pointcut,即指定在被代理的DAO类的某个函数执行前、还是执行后或是抛出异常时,这就是横切点。指定好横切点后,我们接下来就是指定横切点处应该执行什么操作。

  • 相关阅读:
    对象继承习题
    Java访问修饰符(转)
    对Java JVM中类加载几点解释
    1006 最长公共子序列Lcs
    算法训练 成绩的等级输出
    算法训练 统计字符次数
    算法训练 连接字符串
    算法训练 筛选号码
    算法训练 十进制数转八进制数
    算法训练 斜率计算
  • 原文地址:https://www.cnblogs.com/kylinxue/p/5215528.html
Copyright © 2011-2022 走看看