博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IoC和AOP
阅读量:5046 次
发布时间:2019-06-12

本文共 778 字,大约阅读时间需要 2 分钟。

IoC和AOP

一、IoC

  • 什么是IoC:控制反转(Inversion of Control),又称为依赖注入(Dependency Injection),把创建对象的控制权交出去,从主动创建对象变为被动接受对象。具体的说就是,在传统的程序设计中,如果在web层要调用service层的方法,就必须在web层主动创建service层实现类对象,但是在spring中,创建对象的工作不再由调用者主动完成,而是把创建对象的控制权交给spring的bean工厂, 调用者只负责接收这个对象。

  • IoC的作用:实现解耦,更准确的说是实现了编译期解耦,还存在运行期解耦。实现运行期解耦可以引入配置文件对依赖对象的路径进行配置。

二、AOP

  • 什么是AOP:面向切面编程(Aspect-Oriented Programming),把指定的逻辑代码动态的切入到指定的位置上的编程思想。例如,在项目中有200个方法需要进行事务管理,或者200个方法需要日志打印,如果传统的方法,我们可能要在这200个方法上分别加入对应的逻辑代码,而如果需要调整那就要再修改200次,过于繁琐。而如果利用AOP的思想,那就只需要把这些相同的代码剥离出来,放到同一个类中进行集中管理。在运行时由spring容器动态切入这些代码。
  • AOP的原理:通过动态代理的方式,在不影响原有功能的基础上,对功能进行增强、控制
  • 常见的名词
    • 切入点(PointCut):所有能够进行增强的方法,所有的切入点都会得到通知,不同的切入点得到的通知不同(根据正则表达式实现)
    • 通知(Advice):要给目标对象进行增强、控制的逻辑代码
    • 切面(Aspect):切入点和通知的结合/共有功能的实现/被增强了的切入点方法

转载于:https://www.cnblogs.com/story-xc/p/10935739.html

你可能感兴趣的文章
Mac 下的Chrome 按什么快捷键调出页面调试工具
查看>>
Windows Phone开发(24):启动器与选择器之发送短信
查看>>
JS截取字符串常用方法
查看>>
Google非官方的Text To Speech和Speech Recognition的API
查看>>
stdext - A C++ STL Extensions Libary
查看>>
Django 内建 中间件组件
查看>>
bootstrap-Table服务端分页,获取到的数据怎么再页面的表格里显示
查看>>
进程间通信系列 之 socket套接字及其实例
查看>>
天气预报插件
查看>>
Unity 游戏框架搭建 (十三) 无需继承的单例的模板
查看>>
模块与包
查看>>
mysql忘记root密码
查看>>
apache服务器中设置目录不可访问
查看>>
嵌入式Linux驱动学习之路(十)字符设备驱动-my_led
查看>>
【NOIP模拟】密码
查看>>
java容器---------手工实现Linkedlist 链表
查看>>
three.js 性能优化的几种方法
查看>>
《梦断代码》读书笔记(三)
查看>>
FreeMarker解析json数据
查看>>
Java8 Lambda表达应用 -- 单线程游戏server+异步数据库操作
查看>>