![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring
colocola
公众号:TT程序员
展开
-
集群容错方式有哪些?
Failover Cluster失败自动切换:dubbo的默认容错⽅案,当调用失败时自动切换到其他可用的节点,具体的重试次数和间隔时间可用通过引用服务的时候配置,默认重试次数为1也就是只调用一次。Failback Cluster失败自动恢复:在调自失败,记录日志和调用信息,然后返回空结果给consumer,并且通过定时任务每隔5秒对失败的调⽤进⾏重试Failfast Cluster快速失败:只会调用一次,失败后立刻抛出异常Failsafe Cluster失败安全:调用出现异常,记录日志不抛出,返回空.原创 2021-01-20 15:21:13 · 586 阅读 · 0 评论 -
spring 锁机制
从JDK1.6版本之后,synchronized本身也在不断优化锁的机制,有些情况下他并不会是一个很重量级的锁了。优化机制包括自适应锁、自旋锁、锁消除、锁粗化、轻量级锁和偏向锁。锁的状态从低到高依次为自旋锁->偏向锁->轻量级锁->重量级锁,升级的过程就是从低到高,降级在一定条件也是有可能发生的。自旋锁:由于大部分时候,锁被占用的时间很短,共享变量的锁定时间也很短,所有没有必要挂起线程,用户态和内核态的来回上下文切换严重影响性能。自旋旋的概念就是让线程执行一个忙循环,可以理解为就是啥也原创 2021-01-20 10:20:37 · 2527 阅读 · 0 评论 -
47. 什么是spring WebApplicationContext
WebApplicationContext 是 ApplicationContext 的扩展。它具有 Web 应用程序所需的一些额外功能。它与普通的 ApplicationContext 在解析主题和决定与哪个 servlet 关联的能力方面有所不同。原创 2020-10-23 13:51:23 · 83 阅读 · 0 评论 -
45. Spring MVC 框架有什么用?
Spring Web MVC 框架提供 模型-视图-控制器 架构和随时可用的组件,用于开发灵活且松散耦合的 Web 应用程序。 MVC 模式有助于分离应用程序的不同方面,如输入逻辑,业务逻辑和 UI 逻辑,同时在所有这些元素之间提供松散耦合...原创 2020-10-23 13:50:45 · 231 阅读 · 0 评论 -
39. 什么是spring通知(Advice)?
特定 JoinPoint 处的 Aspect 所采取的动作称为 Advice。Spring AOP 使用一个 Advice 作为拦截器,在 JoinPoint “周围”维护一系列的拦截器。有哪些类型的通知(Advice)?Before - 这些类型的 Advice 在 joinpoint 方法之前执行,并使用 @Before 注解标记进行配置。After Returning - 这些类型的 Advice 在连接点方法正常执行后执行,并使用@AfterReturning 注解标记进行配置。Afte原创 2020-10-23 13:48:54 · 1945 阅读 · 0 评论 -
如何理解 Spring 中的代理?
将 Advice 应用于目标对象后创建的对象称为代理。在客户端对象的情况下,目标对象和代理对象是相同的Advice + Target Object = Proxy原创 2020-10-21 15:46:53 · 518 阅读 · 0 评论 -
37.什么是 spring 的AOP?
AOP(Aspect-Oriented Programming), 即 面向切面编程, 它与 OOP( Object-Oriented Programming, 面向对象编程) 相辅相成, 提供了与 OOP 不同的抽象软件结构的视角. 在 OOP 中, 我们以类(class)作为我们的基本单元, 而 AOP 中的基本单元是 Aspect(切面)AOP 中的 Aspect、Advice、Pointcut、JointPoint 和 Advice 参数分别是什么?在这里插入图片描述Aspect - Aspe原创 2020-10-21 15:46:22 · 116 阅读 · 0 评论 -
36. 列举 spring 支持的事务管理类型
Spring 支持两种类型的事务管理:程序化事务管理:在此过程中,在编程的帮助下管理事务。它为您提供极大的灵活性,但维护起来非常困难。声明式事务管理:在此,事务管理与业务代码分离。仅使用注解或基于 XML 的配置来管理事务。spring 支持哪些 ORM 框架HibernateiBatisJPAJDOOJB...原创 2020-10-21 15:45:12 · 327 阅读 · 0 评论 -
35. 使用 Spring 访问 Hibernate 的方法有哪些?
我们可以通过两种方式使用 Spring 访问 Hibernate:使用 Hibernate 模板和回调进行控制反转扩展 HibernateDAOSupport 并应用 AOP 拦截器节点原创 2020-10-21 15:44:38 · 414 阅读 · 0 评论 -
32. spring DAO 有什么用?
Spring DAO 使得 JDBC,Hibernate 或 JDO 这样的数据访问技术更容易以一种统一的方式工作。这使得用户容易在持久性技术之间切换。它还允许您在编写代码时,无需考虑捕获每种技术不同的异常。原创 2020-10-20 16:44:49 · 468 阅读 · 0 评论 -
31.@RequestMapping 注解有什么用?
@RequestMapping 注解用于将特定 HTTP 请求方法映射到将处理相应请求的控制器中的特定类/方法。此注解可应用于两个级别:类级别:映射请求的 URL方法级别:映射 URL 以及 HTTP 请求方法原创 2020-10-20 16:44:19 · 276 阅读 · 0 评论 -
30. @Qualifier 注解有什么用?
当您创建多个相同类型的 bean 并希望仅使用属性装配其中一个 bean 时,您可以使用@Qualifier 注解和 @Autowired 通过指定应该装配哪个确切的 bean 来消除歧义。例如,这里我们分别有两个类,Employee 和 EmpAccount。在 EmpAccount 中,使用@Qualifier 指定了必须装配 id 为 emp1 的 bean。Employee.javapublic class Employee {private String name;@Autowired原创 2020-10-20 16:43:48 · 477 阅读 · 0 评论 -
28. @Required 注解有什么用?
@Required 应用于 bean 属性 setter 方法。此注解仅指示必须在配置时使用 bean 定义中的显式属性值或使用自动装配填充受影响的 bean 属性。如果尚未填充受影响的 bean 属性,则容器将抛出 BeanInitializationException。示例:public class Employee {private String name;@Requiredpublic void setName(String name){this.name=name;}public原创 2020-10-20 16:43:10 · 1697 阅读 · 1 评论 -
27. @Component, @Controller, @Repository, @Service 有何区别?
@Component:这将 java 类标记为 bean。它是任何 Spring 管理组件的通用构造型。spring 的组件扫描机制现在可以将其拾取并将其拉入应用程序环境中。@Controller:这将一个类标记为 Spring Web MVC 控制器。标有它的 Bean 会自动导入到 IoC 容器中。@Service:此注解是组件注解的特化。它不会对 @Component 注解提供任何其他行为。您可以在服务层类中使用 @Service 而不是 @Component,因为它以更好的方式指定了意图。@R原创 2020-10-20 16:42:40 · 339 阅读 · 0 评论 -
26. 如何在 spring 中启动注解装配?
默认情况下,Spring 容器中未打开注解装配。因此,要使用基于注解装配,我们必须通过配置 元素在 Spring 配置文件中启用它。原创 2020-10-20 16:41:03 · 289 阅读 · 0 评论 -
25.Spring 常用注解
@Controller - 用于 Spring MVC 项目中的控制器类。@Service - 用于服务类。@RequestMapping - 用于在控制器处理程序方法中配置 URI 映射。@ResponseBody - 用于发送 Object 作为响应,通常用于发送 XML 或 JSON 数据作为响应。@PathVariable - 用于将动态值从 URI 映射到处理程序方法参数。@Autowired - 用于在 spring bean 中自动装配依赖项。@Qualifier - 使用 @Au原创 2020-10-20 16:40:03 · 162 阅读 · 0 评论 -
spring自动装配
Spring 容器能够自动装配 bean。也就是说,可以通过检查 BeanFactory 的内容让 Spring 自动解析 bean 的协作者。自动装配的不同模式:no - 这是默认设置,表示没有自动装配。应使用显式 bean 引用进行装配。byName - 它根据 bean 的名称注入对象依赖项。它匹配并装配其属性与 XML 文件中由相同名称定义的 bean。byType - 它根据类型注入对象依赖项。如果属性的类型与 XML 文件中的一个 bean 名称匹配,则匹配并装配属性。构造函数 - 它原创 2020-10-20 16:37:10 · 109 阅读 · 0 评论 -
22. 什么是 spring 装配
当 bean 在 Spring 容器中组合在一起时,它被称为装配或 bean 装配。 Spring 容器需要知道需要什么 bean 以及容器应该如何使用依赖注入来将 bean 绑定在一起,同时装配 bean原创 2020-10-20 16:36:08 · 1054 阅读 · 7 评论 -
21. 什么是 spring 的内部 bean?
只有将 bean 用作另一个 bean 的属性时,才能将 bean 声明为内部 bean。为了定义 bean,Spring 的基于 XML 的配置元数据在 < property> 或 < constructor-arg> 中提供了 < bean> 元素的使用。内部 bean 总是匿名的,它们总是作为原型。例如,假设我们有一个 Student 类,其中引用了 Person 类。这里我们将只创建一个 Person 类实例并在 Student 中使用它。Student.ja原创 2020-10-20 16:35:34 · 881 阅读 · 0 评论 -
20. spring bean 容器的生命周期是什么样的?
spring bean 容器的生命周期流程如下:Spring 容器根据配置中的 bean 定义中实例化 bean。Spring 使用依赖注入填充所有属性,如 bean 中所定义的配置。如果 bean 实现 BeanNameAware 接口,则工厂通过传递 bean 的 ID 来调用 setBeanName()。如果 bean 实现 BeanFactoryAware 接口,工厂通过传递自身的实例来调用 setBeanFactory()。如果存在与 bean 关联的任何 BeanPostProcess原创 2020-10-16 15:42:46 · 356 阅读 · 1 评论 -
spring 提供了哪些配置方式?
基于 xml 配置bean 所需的依赖项和服务在 XML 格式的配置文件中指定。这些配置文件通常包含许多 bean 定义和特定于应用程序的配置选项。它们通常以 bean 标签开头。例如: 基于注解配置您可以通过在相关的类,方法或字段声明上使用注解,将 bean 配置为组件类本身,而不是使用 XML 来描述 bean 装配。默认情况下,Spring 容器中未打开注解装配。因此,您需要在使用它之前在 Spring 配置文件中启用它。例如: 基原创 2020-10-16 15:42:06 · 706 阅读 · 0 评论 -
17. 什么是 spring bean?
它们是构成用户应用程序主干的对象。Bean 由 Spring IoC 容器管理。它们由 Spring IoC 容器实例化,配置,装配和管理。Bean 是基于用户提供给容器的配置元数据创建。原创 2020-10-16 15:40:52 · 102 阅读 · 0 评论 -
spring 中有多少种 IOC 容器?
BeanFactory - BeanFactory 就像一个包含 bean 集合的工厂类。它会在客户端要求时实例化 bean。ApplicationContext - ApplicationContext 接口扩展了 BeanFactory 接口。它在 BeanFactory 基础上提供了一些额外的功能。列举 IoC 的一些好处。IoC 的一些好处是:它将最小化应用程序中的代码量。它将使您的应用程序易于测试,因为它不需要单元测试用例中的任何单例或 JNDI 查找机制。它以最小的影响和最少的侵入机原创 2020-10-16 15:40:24 · 2898 阅读 · 0 评论 -
什么是spring依赖注入?
在依赖注入中,您不必创建对象,但必须描述如何创建它们。您不是直接在代码中将组件和服务连接在一起,而是描述配置文件中哪些组件需要哪些服务。由 IoC 容器将它们装配在一起。可以通过多少种方式完成依赖注入?通常,依赖注入可以通过三种方式完成,即:构造函数注入setter 注入接口注入在 Spring Framework 中,仅使用构造函数和 setter 注入....原创 2020-10-16 15:39:20 · 413 阅读 · 0 评论 -
什么是 Spring IOC 容器?
什么是 Spring IOC 容器?Spring 框架的核心是 Spring 容器。容器创建对象,将它们装配在一起,配置它们并管理它们的完整生命周期。Spring 容器使用依赖注入来管理组成应用程序的组件。容器通过读取提供的配置元数据来接收对象进行实例化,配置和组装的指令。该元数据可以通过 XML,Java 注解或 Java 代码提供。...原创 2020-10-16 15:38:47 · 163 阅读 · 0 评论 -
使用 Spring 有哪些方式?
使用 Spring 有以下方式:作为作为一个成熟的 Spring Web 应用程序。作为第三方 Web 框架,使用 Spring Frameworks 中间层。用于远程使用。作为企业级 Java Bean,它可以包装现有的 POJO(Plain Old Java Objects)。Bean,它可以包装现有的 POJO(Plain Old Java Objects)。...原创 2020-10-16 15:38:18 · 973 阅读 · 0 评论 -
Spring 应用程序有哪些不同组件?
Spring 应用一般有以下组件:接口 - 定义功能。Bean 类 - 它包含属性,setter 和 getter 方法,函数等。Spring 面向切面编程(AOP) - 提供面向切面编程的功能。Bean 配置文件 - 包含类的信息以及如何配置它们。用户程序 - 它使用接口。...原创 2020-10-16 15:36:42 · 696 阅读 · 0 评论 -
什么是 Spring 配置文件?
Spring 配置文件是 XML 文件。该文件主要包含类信息。它描述了这些类是如何配置以及相互引入的。但是,XML 配置文件冗长且更加干净。如果没有正确规划和编写,那么在大项目中管理变得非常困难。...原创 2020-10-16 15:36:09 · 732 阅读 · 0 评论 -
什么是 Spring Framework?
Spring 是一个开源应用框架,旨在降低应用程序开发的复杂度。它是轻量级、松散耦合的。它具有分层体系结构,允许用户选择组件,同时还为 J2EE 应用程序开发提供了一个有凝聚力的框架。它可以集成其他框架,如 Structs、Hibernate、EJB 等,所以又称为框架的框架。...原创 2020-10-16 15:34:41 · 3541 阅读 · 2 评论