-
详细描述什么是Spring?
概念:spring是一个轻量级的框架,它的核心是IOC和AOP,使用基本的JavaBean完成我们以前只能由EJB完成的工作,取代EJB的臃肿和低效的开发模式
优点:
1、spring如同一个工厂,将所有的对象创建和销毁JavaBean交给spring管理,降低了对象之间的耦合性
2、集成各种优秀的框架,封装了java EE中的一些难用的API降低了开发难度
3、同时spring支持JUnit4,可以通过注解方便的测试spring程序
4、支持AOP编程,可方便的实现对程序进行权限拦截和运行监控
5、声明式事务支持,通过配置就可以完成对事务的管理
-
什么是Spring IOC?
概念:控制反转,将设计好的对象交给spring管理
优点:降耦,资源集中管理,提高复用性
-
什么是Spring AOP?描述其应用场景(最少2个)
概念:面向切面编程,通过预编译的方式和运行期动态代理,实现不修改代码,给应用添加统一的功能
应用:事务,日志,缓存等
-
AOP的通知有几个,分别是什么
1、前置通知:在连接点之前执行,不会影响连接点执行除非抛出异常
2、后置通知:在连接点之后执行,连接点抛出异常,则不执行
3、返回通知:在连接点执行后执行,不管是否抛出异常都会执行
4、异常通知:连接点之后执行,连接点抛出异常则执行
5、环绕通知:环绕在连接点前后执行
-
描述Spring Bean的作用域?
1、singleton:在spring容器中只存在一个bean实例,为默认值,单例模式
2、prototype:每次从spring中调用都会创建一个新的实例,多例模式
3、request:HTTP请求都会创建一个新的bean,适用于WebApplicationContext环境
4、session:同一个HTTPsession共享一个Bean,不同的session使用不同的Bean,适用于WebApplicationContext环境
5、application:绑定一个bean的作用域为selevelContent的生命周期,该作用域只适用于web的spring webapplicationcontent环境
-
Spring Bean 注入有几种方式?
1、构造器注入:通过在bean的构造方法中将bean注入 (初始化或设置默认值)
2、setter注入:在bean的set方法中注入(正常使用)
3、工厂方法注入:通过方法返回值注入
-
SpringBean 生命周期?
实例化BEAN(默认)
(前置处理器)(开发人员自定义方法)
init(开发人员自定义方法)
(后置处理器)(开发人员自定义方法)
set注入属性赋值
使用目标方法
destroy(开发人员自定义方法)
-
Spring框架中 用到了哪些设计模式?(不低于3个)
设计模式:前人的经验总结。
框架:一系列类、方法、属性
作用:简化代码开发,提高代码复用率
工厂模式:在AOP和remoting中被用的比较多
单例模式:在spring配置文件中定义的bean默认为单例模式
模板方法模式:解决代码重复问题
代理模式
-
描述Spring事务传播行为?
1、required:默认传播行为,有事务加入事务,没有事务创建一个
2、required_New:不管事务是否存在,都创建一个新的事务,先执行新事务,原事务挂机,稍后执行
3、supports:为调用此方法的bean声明事务,否则就不用声明事务
4、Notsupported:容器不为这个方法开启事务
5、mandatory:必须在一个已有事务中执行,否则抛出异常
6、Never:必须在一个没有事务中执行,否则抛出异常
7、Nested:如果当前事务存在,则嵌套事务内执行
-
描述Spring事务的隔离级别?
isolation-default:默认传播行为
isolation-read-uncommitted:读未提交
isolation-read-commit:读已提交
isolation-repeatable-read:可重复读
isolation-serializable:序列化读
-
Spring事务传播行为 REQUIRED和REQUIRED_NEW区别
required:支持当前事务,没有则新建
required_New:新建事务,如果当前事物存在,在挂起当前事务
-
数据库设计三大范式?
第一范式条件:必须不包含重复组的关系,即每一列都是不可拆分的原子项
第二范式条件:关系模式必须满足第一范式,并且所有非主属性都完全依赖于主码。注意,符合第二范式的关系模型可能还存在数据冗余、更新异常等问题
**第三范式的条件:**关系模型满足第二范式,所有非主属性对任何候选关键字都不存在传递依赖。即每个属性都跟主键有直接关系而不是间接关系,像:a–>b–>c。
-
软件开发生命周期?
1、可行性分析,
2、需求分析
3、开发实现
4、发布
5、部署生产
-
说一下DTO和PO的区别?以及优缺点?
DTO是展示层和服务处之间传递数据的对象,减少分布式调用次数,提高分布式调用性能和降低网络负载
PO:持久化的对象,跟持久层的数据结构形成一一对应的映射关系
Spring
于 2020-12-17 15:37:28 首次发布