JAVA面试之AOP与IOC解析
2016-10-11 20:47
246 查看
JAVA面试之AOP与IOC
AOP是Aspect Oriented Programming的缩写,意思是面向切面编程.与OOP(Object Oriented Programming)面向对象编程对等,都是一种编程思想.
从OOP角度分析,我们关注业务的处理逻辑,是属于纵向的行为,从AOP角度分析,我们关注对象行为发生时的问题,是属于横向的问题.
AOP就是把贯穿在各个模块之间相同的功能抽取出来,然后封装成一个面.
AOP的作用:
1.监控函数的调用
2.捕获异常的发生
实际应用于:事务,安全,日志等横切关注
两种方式实现AOP的方式:
1.JDK提供的动态代理实现,Spring规定对于有接口的类用JDK,对于无接口和抽象类使用cglib,虽然cglib均可代理,但是cglib复杂,效率低,而且cglib中代理的类中不能有final的方法.
2.其中对于AOP来说,他也可以理解为一个面,在这个面里面我们利用代理类来找目标对象是什么,拦截那些方法,然后在这些方法的前后也可以执行一些操作.
IOC(Inversion of control):控制反转,依赖注入
概念:控制权有对象本身专享容器,由容器根据配置文件去创建实例,并创建各个实例之间的关系,则通俗的说,对象的创建再也不需要程序员来管理,而是可以有spring容器来进行创建和销毁,我们只需要关注业务逻辑.
依赖IOC容器并管理bean,有两种,一种是BeanFactory,另一种是ApplicationContext,但是APPlicationContext extends BeanFactory.
核心:Spring中,bean工厂创建的各个实例称作bean.
AOP是Aspect Oriented Programming的缩写,意思是面向切面编程.与OOP(Object Oriented Programming)面向对象编程对等,都是一种编程思想.
从OOP角度分析,我们关注业务的处理逻辑,是属于纵向的行为,从AOP角度分析,我们关注对象行为发生时的问题,是属于横向的问题.
AOP就是把贯穿在各个模块之间相同的功能抽取出来,然后封装成一个面.
AOP的作用:
1.监控函数的调用
2.捕获异常的发生
实际应用于:事务,安全,日志等横切关注
两种方式实现AOP的方式:
1.JDK提供的动态代理实现,Spring规定对于有接口的类用JDK,对于无接口和抽象类使用cglib,虽然cglib均可代理,但是cglib复杂,效率低,而且cglib中代理的类中不能有final的方法.
2.其中对于AOP来说,他也可以理解为一个面,在这个面里面我们利用代理类来找目标对象是什么,拦截那些方法,然后在这些方法的前后也可以执行一些操作.
IOC(Inversion of control):控制反转,依赖注入
概念:控制权有对象本身专享容器,由容器根据配置文件去创建实例,并创建各个实例之间的关系,则通俗的说,对象的创建再也不需要程序员来管理,而是可以有spring容器来进行创建和销毁,我们只需要关注业务逻辑.
依赖IOC容器并管理bean,有两种,一种是BeanFactory,另一种是ApplicationContext,但是APPlicationContext extends BeanFactory.
核心:Spring中,bean工厂创建的各个实例称作bean.
相关文章推荐
- java面试要点---Spring体系知识点复习,IOC,AOP---随时更新
- Java IOC和AOP解析
- Java下的Framework编写(1)--序 (反射,泛型,元数据,CGLib,AOP,IOC)
- Java程序员面试可能遭遇的30个技术陷阱解析
- Java HashMap深度解析-面试问题全面解读(1)
- 面试中Spring IOC AOP的理解
- 笑傲JAVA江湖——乱弹AOP、IOC和AJAX
- Java面试--Spring技术要点--Spring AOP(面向切面编程)
- Java常见笔试面试题目解析(二):final与static final变量(引用类型)的引用不变
- Java常见笔试面试题目解析(一):final与static final变量(原生类型)的初始化方式
- Spring面试,IoC和AOP的理解
- Java程序员面试可能遭遇的30个技术陷阱解析
- Spring面试,IoC和AOP的理解
- JAVA:Spring Ioc/AOP/DI/MVC/ 细看Springframework
- Java常见笔试面试题目解析(三):Java中异常执行流程
- Java程序员面试可能遭遇的30个技术陷阱解析
- Java常见笔试面试题目解析(十):Java中检查的异常与未检查的异常
- 传智播客Java就业班入学测试题答案解析【Java面试复习经典】
- Sprig 面试中 问及 DI,IOC, AOP
- Spring面试,IoC和AOP的理解