java面试之-spring ioc和aop 博客分类: java面试总结 java面试题javaspringiocaop
程序员文章站
2024-02-05 16:29:22
...
面试官问道这个问题基本上是想知道 是否了解aop 和ioc的基本概念, 以及大体的实现机制等, 因此我们在回答这个问题时应当首相将概念回答一下, 其次就是应用场景 最后在回答下实现方式等基本ok了
1概念:
首先讲下aop, aop是和oop对等的一个概念, oop面向对象编程 而 aop是面向切面编程 , 从本质上来讲 oop和aop都是编程思想,oop关注的是对象直接的调用关系和模块之间直接的业务联系 ,属于纵向行为; aop更关注于模块之间对象行为发生时的问题(业务调用和逻辑), 我们可以将这些公共的处理逻辑抽取出来作为一个面,属于横向行为。
ioc 控制反转/依赖注入, 主要是对象的解耦,将对对象的控制权交给容器,包括对象的创建和销毁等,我们只需要关注业务逻辑,重要的是 ioc是一种思想!
ioc容器对bean的管理方式:
1>beanFactory ; 2>applicationContext; 注意 applicationContext extends beanFactory!
2应用:
aop的主要作用 监控函数/业务逻辑的调用,异常发生等问题,实际应用于 事物,安全和日志等横切关注!
3aop的实现方式:
使用jdk的动态代理 和 cglib 注意: 对于有接口的类aop是使用jdk的动态代理, 而对于无接口的类或者是抽象类使用cglib, 虽然cglib均可代理,但是其复杂效率低,不能有final方法!
推荐阅读
-
java面试之jvm垃圾回收机制 博客分类: java面试总结 jvm垃圾回收机制gc面试java
-
java面试之-spring ioc和aop 博客分类: java面试总结 java面试题javaspringiocaop
-
java面试之synchronized 和 static synchronized 博客分类: java面试总结 java面试synchronizedstatic synchronized
-
Java面试题总结之OOA/D,UML,和XML
-
Java面试题总结之OOA/D,UML,和XML
-
Java面试题总结之数据结构、算法和计算机基础(刘小牛和丝音的爱情故事1)
-
Java面试题总结之数据结构、算法和计算机基础(刘小牛和丝音的爱情故事1)...
-
java面试之-spring ioc和aop