spring作为开发中常用的框架,面试主要会问IOC和AOP。
1、DI:依赖注入,顾名思义就是将需要使用的对象依赖框架容器来自动的注入,不需要开发人员再手动new对象然后再使用,直接拿来用就行了。
依赖注入的方式有:1、根据构造器注入。2、根据get()、set()方法注入。
spring容器有两种:
(1)是applicationContext,它的优点是在容器初始化的时候,就将所有的bean对象初始化好了,有点缓存机制的意思。
(2)是beanFactory,它跟applicationContext不一样,它是只有在使用对象的时候才会创建对象,相似于懒加载的模式,有一个缺点就是,使用的bean过多的时候,服务器压力会变大。
2、IOC:控制反转:顾名思义,将创建对象这件事情交给spring来管理。
3、AOP:面向切面的编程,主要作用是将业务代码和系统功能分开,将系统功能做成单独的模块,通过切面的方式织入到业务代码的前、中或者后。
4、spring事务:
(1)事务的传播行为,共有7种,常用的
propagation_required:没有就新建,有就加入
requires_new:新建,如果存在就挂起
supports:支持当前事务,没有就不执行事务
not_supported:不执行事务,有事务就挂起
mandatory:使用当前事务,没有就抛出异常
never:不执行事务,有则抛出异常
nested:如果存在事务就嵌套在事务内,没有的话就执行跟required相似的操作