java面试之-spring ioc和aop

面试官问道这个问题基本上是想知道 是否了解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方法!

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值