spring框架中IOC及AOP的原理

ioc:Inversion of Control  控制反转,依赖注入。

问题:IOC是什么?有什么作用?

个人理解ioc:把控制权交给IOC容器。在spring.xml配置文件中利用bean中配置的类名即对象名,实例化对象。无需使用时需要用代码手动new出对象。以次来降低对象与对象之间的耦合度。同时方便在配置文件中修改对象。

在ssm框架中,用注解的方式@Autowired装配注入对象。

关于ioc实例化的对象与,手动new出来的对象有什么区别?

1.ioc实例化的对象,降低了组件之间额耦合性。(注意,ioc实例化出的对象并不节省运行效率。)

2.


【AOP:暂时理解的比较模糊】

aop:Aspect Oriented Programming  面向切面编程

问题:什么是aop?

面向切面编程(aop)完善spring的两个方面。

1.面向切面编程提供声明式事务管理

2.spring支持用户自定义的切面

面向切面编程(aop)是对面向对象编程(oop)的补充,

面向对象编程将程序分解成各个层次的对象,面向切面编程将程序运行过程分解成各个切面。

AOP从程序运行角度考虑程序的结构,提取业务处理过程的切面,oop是静态的抽象,aop是动态的抽象,

是对应用执行过程中的步骤进行抽象,,从而获得步骤之间的逻辑划分。

aop框架具有的两个特征:

1.各个步骤之间的良好隔离性

2.源代码无关性

IoC就是对象的创建,依赖都由Spring及配置文件控制

AOP就是统一的给一些类似的方法加上同样的功能,比如日志,事务


参考:69 个经典 Spring 面试题和答案

你可能感兴趣的:(spring框架中IOC及AOP的原理)