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类的某个函数执行前、还是执行后或是抛出异常时,这就是横切点。指定好横切点后,我们接下来就是指定横切点处应该执行什么操作。

  • 相关阅读:
    Hessain 方法重载
    mac 类似Xshell
    idea & datagrip 注册码
    mac 安装mysql 修改密码
    securecrt 的安装
    datagrip的使用
    mac 安装oracle
    mac 安装mysql
    destoon 会员整合Ucenter/Discuz!/PHPWind教程
    destoon 深度整合discuz x2 UC 之免邮箱二次验证
  • 原文地址:https://www.cnblogs.com/kylinxue/p/5215528.html
Copyright © 2011-2022 走看看