什么是Spring
Spring是一个开源的轻量级框架,是控制反转和面向切面编程的容器框架,spring相当于一个大的工厂,提供IOC思想,所以对象的创建和依赖关系的维护都可以交给spring管理,spring支持面向切面编程,可以将业务逻辑相同的代码提取出来,如:日志,权限等,spring支持Junit4所以spring的测试非常方便,spring可以集成其他框架一起使用,所以spring是一个非常方便适用于企业级开发的框架
什么是Spring容器
Spring容器是spring框架的核心,是用来管理对象的,把它们连接在一起,配置它们,并管理他们的整个生命周期从创建到销毁
Spring怎么降低开发的复杂性
通过依赖注入和面向接口来降低耦合,基于切面编程和惯例进行声明示编程,通过切面和模板减少样板式代码
Spring缺点
入门门槛高,依赖反射,反射影响性能
Spring怎么创建对象
1.通过构造方法
2.通过实例工厂,利用工厂模式创建
3.静态工厂创建
4.通过配置文件applicationContext创建
什么事务
事务就是跟数据库的操作有关,事务必须服从AICD四种特性
事务的AICD四种特性
原子性:事务内部操作不可分分割,要么都成功,要么都失败
一致性:只要有一部分事务执行失败,那么整个事务都会回滚
隔离性:一个事物开启,则不能受其他事务的影响
持久性:事务一旦开启,就不能终止
事务并发会引起什么问题
1.脏读:一个事务读取到另一个事务跟新但没有提交的数据
2.幻读(虚读):一个事务读取到另一个事务insert的数据
3.不可重复读:同一个事务中,多次读取同一条数据,但数据返回的结果不同
注:以上是本人自己根据spring知识整理的面试题,如有什么错误,还望留言告知,谢谢!