spring框架 技术方面

一:依赖注入的两种方式
1.set注入
2.构造器注入

二:web应用开发中,如何启用spring框架支持,写出关键配置
在webApp中获得XMLWebApplicationContext的步骤
1.在Web.xml中配置上下文载入器
2.指定上下文载入器的配置文件
3.获得应用上下文

三:简述spring Aop实现方法(cglib,java proxy差别)
spring Aop主要通过java动态代理的方式进行实现
GCLIB代理
cglib(Code Generation Library)是一个强大的,高性能,高质量的Code生成类库。它可以在运行期扩展Java类与实现Java接口。
cglib封装了asm,可以在运行期动态生成新的class。
cglib用于AOP,jdk中的proxy必须基于接口,cglib却没有这个限制。
原理区别:
java动态代理是利用反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理。而cglib动态代理是利用asm开源包,对代理对象类的class文件加载进来,通过修改其字节码生成子类来处理。
1.如果目标对象实现了接口,默认情况下会采用JDK的动态代理实现AOP
2.如果目标对象实现了接口,可以强制使用CGLIB实现AOP
3.如果目标对象没有实现了接口,必须采用CGLIB库,spring会自动在JDK动态代理和CGLIB之间转换

四:spring框架问企业级开发带来的好处有哪些?

五:springMVC执行流程
1.用户请求首先发送到前端控制器DispatcherServlet,DispatcherServlet根据请求的信息来决定使用哪个页面控制器Controller(也就是我们通常编写的Controller)来处理该请求。找到控制器之后,DispatcherServlet将请求委托给控制器去处理。
2.接下来页面控制器开始处理用户请求,页面控制器会根据请求信息进行处理,调用业务层等等,处理完成之后,会把结果封装成一个ModelAndView返回给DispatcherServlet。
3.前端控制器DispatcherServlet接到页面控制器的返回结果后,根据返回的视图名选择相应的试图模板,并根据返回的数据进行渲染。
4.最后前端控制器DispatcherServlet将结果(如jsp)返回给用户。

六:描述spring事务的概念

七:描述spring事务管理机制
作为企业级应用程序框架,Spring在不同的事务管理API之上定义了一个抽象层。而应用程序开发人员不必了解底层的事务管理API,就可以使用Spring的事务管理机制。
Spring既支持编程式事务管理(也称编码式事务),也支持声明式的事务管理
编程式事务管理:将事务管理代码嵌入到业务方法中来控制事务的提交和回滚,在编程式事务中,必须在每个业务操作中包含额外的事务管理代码
声明式事务管理:大多数情况下比编程式事务管理更好用。它将事务管理代码从业务方法中分离出来,以声明的方式来实现事务管理。事务管理作为一种横切关注点,可以通过AOP方法模块化。Spring通过Spring AOP框架支持声明式事务管理。

八:描述spring事务的方式
如何在Spring配置文件中定义事务管理器:
声明对本地事务的支持:
a)JDBC及iBATIS、MyBatis框架事务管理器
</p> <p>

九:描述spring事务的属性
在Spring中,声明式事务是通过事务属性来定义的,事务属性描述了事务策略如何应用到方法上。尽管Spring提供了多种声明式事务的机制,但是所有的方式都依赖这五个参数来控制如何管理事务策略。声明式事务通过传播行为,隔离级别,只读提示,事务超时及回滚规则来进行定义。
Spring事务的传播行为:
当事务方法被另一个事务方法调用时,必须指定事务应该如何传播。例如:方法可能继续在现有事务中运行,也可能开启一个新事务,并在自己的事务中运行。
事务的传播行为可以由传播属性指定。Spring定义了7种传播行为:
1.Propagation.REQUIRED
方法被调用时自动开启事务,在事务范围内使用则使用同一个事务,否则开启新事务。
2.Propagation.REQUIRES_NEW
无论何时自身都会开启事务
3.Propagation.SUPPORTS
自身不会开启事务,在事务范围内则使用相同事务,否则不使用事务
4.Propagation.NOT_SUPPORTED
自身不会开启事务,在事务范围内使用挂起事务,运行完毕恢复事务
5.Propagation.MANDATORY
自身不开启事务,必须在事务环境使用否则报错
6.Propagation.NEVER
自身不会开启事务,在事务范围使用抛出异常
7.Propagation.NESTED
如果一个活动的事务存在,则运行在一个嵌套的事务中. 如果没有活动事务, 则按TransactionDefinition.PROPAGATION_REQUIRED 属性执行。需要JDBC3.0以上支持。

十:描述spring事务的隔离级别

Original: https://www.cnblogs.com/eafkng/p/16359426.html
Author: 水水头不秃
Title: spring框架 技术方面

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/570548/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球