zoukankan      html  css  js  c++  java
  • spring核心思想:IOC(控制反转)、DI(依赖注入)和AOP(面向切面编程)

    Spring有三大核心思想,分别是控制反转(IOC,Inversion Of Controller),依赖注入(DI,Dependency Injection)和面向切面编程(AOP,Aspect Oriented Programming)。

    控制反转(IOC,Inversion Of Controller)

    控制反转不是什么技术,而是一种设计思想。在Java开发中,IOC意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。

    传统正转

    控制有反转,当然也就有原来的正转。正转就是说当你需要用到某一个对象的时候,就需要主动去new一个对象实例,才能够使用该对象。

    控制反转

    反转就是当你需要用到某一个对象的时候,就向Spring IOC容器发请求,由Spring IOC容器返回一个对象实例给你,即将组件之间的关系从程序内部提到外部容器来管理。

    依赖注入(DI,Dependency Injection)

    依赖注入是控制反转的具体实现。

    因为对象资源的获取全部要依赖于Spring IOC容器,组件之间的依赖关系由容器在应用系统运行期来决定,在需要的时候由Spring IOC容器动态地往组件中注入需要的实例对象就叫做依赖注入。

    面向切面编程(AOP,Aspect Oriented Programming)

    面向切面编程利用了一种称为【横切】的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用的模块,并将其命名为【切面(Aspect)】。简单的说,就是那些与业务无关,却为业务模块锁共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块之间的耦合,并有利于未来的可操作性和可维护性。

    利用【横切】技术,AOP把软件系统分为了两个部分:核心关注点和横切关注点。业务处理的主要流程是核心关注点,与业务处理关系不大的部分是横切关注点。横切关注点的一个特点是,它们经常发生在核心关注点的多处,而各处基本相似,比如说权限认证、日志和事务等。AOP的作用在于分离系统中的各个关注点,将核心关注点和横切关注点分离开来。

    "因为你的固执和任性,因此我最害怕你突然会放弃。"

  • 相关阅读:
    Android入门之旅1—ubuntu11.04上搭建And​roid SDK开发环境
    Android入门之旅3—ubuntu11.4上通过adb连接M9手机
    HTML页面的控件的显示与隐藏
    Javascript所属document对象使用细说(转载)
    php备份和恢复mysql数据库
    VB.net 代码 调用外部Ping命令判断网络连通状况
    面向对象技术第一讲 多态性
    无法在Web服务器上启动调试。未将项目配置为进行调试
    (PHP,mysql)Fatal error: Call to undefined function mysql_connect() 解决方案
    left join inner 使用细节
  • 原文地址:https://www.cnblogs.com/yanggb/p/10337600.html
Copyright © 2011-2022 走看看