什么是IOC/DI,作用?
IOC(Inversion Of Control) :控制反转;编程思想;对象的创建(生命周期管理)不再由原来的程序负责,交给第三方的容器负责。降低了耦合度,灵活性提高;
(控制):控制对象的创建,整个生命周期的管理,依赖关系管理。
(反转):原来是程序创建,现在是第三方容器创建;反转。
BeanFactory和ApplicationContext接口的区别?
BeanFactory:Spring容器底层(内部使用),采用延迟加载bean,功能有限;
ApplicationContext:一般使用较多,扩展了很多功能:支持消息管理,资源管理,国际化,支持aop;采用立即加载;加载多个配置文件
依赖注入的方式有几种?
1.通过构造器注入;
2.通过set方法注入;
3.自动装配
spring容器使用了哪些设计模式?
1、工厂设计模式
2、单例设计模式
3、代理设计模式
AOP是什么?
AOP:Aspect Oriented Programming 面向切面编程;是对OOP(面向对象)思想的补充:(封装
继承、多态);aop是横向扩展;为了解决共性问题(日志,权限,事务,异常);,将共性问题
的解决方案单独抽象出来,利用横切技术切入的系统中。
事务的特性?
事务具有 4 个特性:原子性、一致性、隔离性和持久性,简称为 ACID 特性。
1、原子性(Atomicity):一个事务是一个不可分割的工作单位,事务中包括的动作要么都做要
都不做。
2、一致性(Consistency):事务必须保证数据库从一个一致性状态变到另一个一致性状态,一致
性和原子性是密切相关的。
3、隔离性(Isolation):一个事务的执行不能被其它事务干扰,即一个事务内部的操作及使用的
数据对并发的其它事务是隔离的,并发执行的各个事务之间不能互相打扰。
4、持久性(Durability):持久性也称为永久性,指一个事务一旦提交,它对数据库中数据的改变
就是永久性的,后面的其它操作和故障都不应该对其有任何影响。