聊一下 Spring 中的 IOC 和 AOP
IOC(Inverse of Control):控制反转,也可以称为依赖倒置。
依赖注入和控制反转是同一个概念,具体的讲:当某个角色需要另外一个角色协助的时候,在传统的程序设计过程中,通常由调用者来创建被调用者的实例。但在 spring 中创建被调用者的工作不再由调用者来完成,因此称为控制反转。
创建被调用者的工作由 spring 来完成,然后注入调用者 因此也称为依赖注入。
spring 以动态灵活的方式来管理对象 , 注入的两种方式,设置注入和构造注入。
- 设置注入的优点:直观,自然
- 构造注入的优点:可以在构造器中决定依赖关系的顺序。
面向切面编程(AOP)完善 spring 的依赖注入(DI),面向切面编程在 spring 中主要表现为两个方面
- 面向切面编程提供声明式事务管理
- spring 支持用户自定义的切面
AOP 是作为面向对象的一种补充,主要用于处理系统中分布在各个环节的的横切的关注点,比如日志记录,异常处理,缓存,事物等等。
Spring AOP 使用的动态代理,所谓的动态代理就是说 AOP 框架不会去修改字节码,而是在内存中临时为方法生成一个 AOP 对象,这个 AOP 对象包含了目标对象的全部方法,并且在特定的切点做了增强处理,并回调原对象的方法。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论