Spring
一共46篇文章
专题:第18期
-
Spring 和 SpringBoot 的区别是什么
参考答案 实际上,Spring 是 unopinionated的(予以配置项多,倾向性弱) ,Spring Boot 在平台和库的做法中更 opinionated (更容易上手)。 Spring 和 SpringBoot 的主要区别是: 1. Spring Boot提供极其快速和简化的操作,让 Spring 开发者快速上手。 2. Spring Boot提供了 Spring 运行的默认配置…...- 宝妹儿
- 145
- 0
-
有几种不同类型的自动代理
参考答案 不同类型的自动代理有3种: BeanNameAutoProxyCreator DefaultAdvisorAutoProxyCreator Metadata autoproxying 以上,是 Spring面试题【有几种不同类型的自动代理】的参考答案。 输出,是最好的学习方法。 欢迎在评论区留下你的问题、笔记或知识点补充~ ---end---...- 宝妹儿
- 252
- 0
-
Spring 的自动装配
参考答案 在spring中,使用autowire来配置自动装载模式。对象无需自己查找或创建与其关联的其他对象,由容器负责把需要相互协作的对象引用赋予各个对象。 1. 在Spring框架xml配置中,共有5种自动装配 no:默认的方式是不进行自动装配的,通过手工设置ref属性来进行装配bean。 byName:通过bean的名称进行自动装配,如果一个bean的 property 与另一bean …...- 宝妹儿
- 151
- 0
-
Spring 如何解决循环依赖问题
参考答案 在Spring中,循环依赖问题主要有以下三种情况: 通过构造方法进行依赖注入时产生的循环依赖问题。 通过setter方法进行依赖注入且是在多例(原型)模式下产生的循环依赖问题。 通过setter方法进行依赖注入且是在单例模式下产生的循环依赖问题。 在Spring中,只有第3种方式的循环依赖问题被解决了,第1和第2种方式在遇到循环依赖问题时都会产生异常。 原因: 第1种构造方法注入的情况下…...- 宝妹儿
- 137
- 0
-
什么是切面 Aspect
参考答案 Aspect 由 pointcount 和 advice 组成,切面是通知和切点的结合。 它既包含了横切逻辑的定义,也包括了连接点的定义。 Spring AOP 就是负责实施切面的框架,它将切面所定义的横切逻辑编织到切面所指定的连接点中。 AOP 的工作重心在于,如何将增强编织目标对象的连接点上,,这里包含两点: 如何通过 pointcut 和 advice 定位到特定的 joinpoi…...- 宝妹儿
- 118
- 0
-
Spring 通知有哪些类型
参考答案 在AOP术语中,切面的工作被称为通知,实际上是程序执行时要通过SpringAOP框架触发的代码段。 Spring切面可以应用5种类型的通知: 1. 前置通知(Before):在目标方法被调用之前调用通知功能; 2. 后置通知(After):在目标方法完成之后调用通知,此时不会关心方法的输出是什么; 3. 返回通知(After-returning ):在目标方法成功执行之后调用通知; 4.…...- 宝妹儿
- 89
- 0
-
JDK 动态代理和 CGLIB 动态代理的区别
参考答案 Spring AOP中的动态代理主要有两种方式:JDK 动态代理和 CGLIB 动态代理: JDK动态代理 只提供接口的代理,不支持类的代理。 核心InvocationHandler接口和Proxy类,InvocationHandler 通过invoke()方法反射来调用目标类中的代码,动态地将横切逻辑和业务编织在一起;接着,Proxy利用 InvocationHandler动态创建一个…...- 宝妹儿
- 140
- 0
-
Spring AOP and AspectJ AOP 有什么区别
参考答案 Spring AOP and AspectJ AOP 的区别: AspectJ是静态代理的增强,所谓静态代理,就是AOP框架会在编译阶段生成AOP代理类,因此也称为编译时增强,他会在编译阶段将AspectJ(切面)织入到Java字节码中,运行的时候就是增强之后的AOP对象。 Spring AOP使用的动态代理,所谓的动态代理就是说AOP框架不会去修改字节码,而是每次运行时在内存中临时为方…...- 宝妹儿
- 41
- 0
-
AOP 有哪些实现方式
参考答案 AOP实现的关键在于 代理模式,AOP代理主要分为:静态代理、动态代理。 静态代理的代表为AspectJ; 动态代理则以Spring AOP为代表。 以上,是 Spring面试题【AOP 有哪些实现方式】的参考答案。 输出,是最好的学习方法。 欢迎在评论区留下你的问题、笔记或知识点补充~ ---end---...- 宝妹儿
- 41
- 0
-
你更倾向用那种事务管理类型
参考答案 大多数Spring框架的用户选择声明式事务管理。 因为: 它对应用代码的影响最小,因此更符合一个无侵入的轻量级容器的思想。 声明式事务管理要优于编程式事务管理,虽然比编程式事务管理(这种方式允许你通过代码控制事务)少了一点灵活性。 它唯一不足地方是,最细粒度只能作用到方法级别,无法做到像编程式事务那样可以作用到代码块级别。 以上,是 Spring面试题【你更倾向用那种事务管理类型】的参考…...- 宝妹儿
- 16
- 0
-
Spring 框架的事务管理有哪些优点
参考答案 Spring框架的事务管理的优点: 为不同的事务API 如 JTA,JDBC,Hibernate,JPA 和JDO,提供一个不变的编程模式。 为编程式事务管理提供了一套简单的API而不是一些复杂的事务API。 支持声明式事务管理。 和Spring各种数据访问抽象层很好得集成。 以上,是 Spring面试题【Spring框架的事务管理有哪些优点】的参考答案。 输出,是最好的学习方法。 欢迎…...- 宝妹儿
- 99
- 0
-
说一下Spring 的事务隔离,以及默认值
参考答案 Spring 有五大隔离级别,默认值为 ISOLATION_DEFAULT(使用数据库的设置),其他四个隔离级别和数据库的隔离级别一致: Spring的五大隔离级别: 1. ISOLATION_DEFAULT 用底层数据库的设置隔离级别,数据库设置什么,我就用什么。 2. ISOLATION_READ_UNCOMMITTED 未提交读。 最低隔离级别、事务未提交前,就可被其他事务读取…...- 宝妹儿
- 54
- 0