Java 开发人员经验丰富的 Spring/Spring Boot 面试题 – 2023 年[5–10 年]

在本文开始前,先给大家分享几个好用的IDEA激活码

这里提供几个最新的激活码,有需要的朋友可以试试,先到先用:

2022和2023Intellij IDEA最新激活码,IDEA稳定专属激活码(持续更新)

2022和2023Pycharm激活码,Pycharm稳定专属激活码(持续更新)

2022和2023Webstorm激活码,Webstorm稳定专属激活码(持续更新)

2022和2023Phpstorm激活码,Phpstorm稳定专属激活码(持续更新)

2022和2023Goland激活码,Goland稳定专属激活码(持续更新)

 

Spring 和 SpringBoot

Spring Boot 应用程序注释的替代方案是什么?

一般推荐使用@SpringBootApplicatio n注解,因为它更简洁,更容易记住。

@SpringBootApplicatio n 注解的替代方法是单独使用以下注解:

@Configuration:该注解将一个类标记为配置类,这意味着它可以用于向Spring Boot应用程序上下文注册bean 
@EnableAutoConfiguration :该注解启用 Spring Boot 的自动配置功能,功能根据类路径上存在的依赖项自动配置 Spring Boot 应用程序。
@ComponentScan :该注解启用组件扫描,这意味着 Spring Boot 会自动扫描指定包中是否有带注解的组件,例如@Controller@Service@Repository

我们必须手动使用上面的注释,

假设我们不想使用 Spring Boot、Micronaut、Quarkus 和 Vert 来构建应用程序。x 是我们可以选择的其他可用选项。

哪个 bean 作用域需要大量计算内存?

这个问题与 spring bean 范围有关,为了回答你应该知道每个 bean 的定义以及它们的行为方式,”

基于此我们可以回答,

bean 作用域有四种类型,

1) singleton:为每个 Spring IoC 容器返回一个 bean 实例。

容器创建该 bean 的单个实例;对该 bean 名称的所有请求都将返回相同的对象,该对象已被缓存。对对象的任何修改都将反映在对该 bean 的所有引用中。如果未指定其他范围,则此范围为默认值

2)prototype:每次请求时返回一个新的bean实例。

每次从容器请求时,原型作用域都会返回一个不同的实例。它是通过在bean定义中将值原型设置为@Scope注释来定义的

3) request:为每个 HTTP 请求调用返回一个实例。

4) session:为每个 HTTP 会话返回一个实例。

答案是 Prototype bean。

@inject 和 @autowire 之间的区别?

@Inject和@Autowired注解都用于 Spring 中的依赖注入但是,两者之间存在一些关键区别:

来源@Inject注解是 Java 上下文和依赖注入 (CDI) 规范的一部分,而@Autowired注解是特定于 Spring 框架的。

所需的依赖项:默认情况下,如果找不到所需的依赖项,@Inject注解将抛出异常。但是,可以将@Autowired注释配置为允许可选的依赖项。

作用域:默认情况下,使用@Inject注解注入的bean的作用域是prototype。然而,使用@Autowired注解注入的bean的范围是单例的。

附加功能@Autowired注释具有许多附加功能,例如为依赖项指定限定符的能力以及为依赖项注入提供程序的能力。

一般来说,如果您想编写不依赖于特定框架或容器的代码,建议使用@Inject注释。

什么是bean生命周期?

请记住,在高水平上,

Spring 遵循以下步骤:

Init() — 初始化 bean

Service() — 使用 bean

Destroy() — 清理 bean

你在Springboot项目中见过哪些异常?

通过问这个问题,面试官正在检查你是否参与过 Spring Boot 项目。如果您已经工作过,您可以回答并遵循与 Spring 异常相关的问题。

如果您不知道这些是 spring 和 spring-boot 框架中的常见异常。

BeanCreationException:当 Spring 创建 bean 失败时抛出此异常。发生这种情况的原因有多种,例如缺少依赖项、配置错误或运行时异常。
NoSuchBeanDefinitionException:当 Spring 找不到指定 bean 名称的 bean 定义时,抛出此异常。如果 Spring 配置中未定义该 bean 或者该 bean 定义无效,则可能会发生这种情况。
此外,我还看到了CircularDependencyException、DataAccessException、ConstraintViolationException 和 NoHandlerFoundException。

你们可以根据使用这个框架的经验来回答。

如何在Java中编写Springboot自定义注释或任何自定义注释?

Java 可以帮助您根据您的需求编写自定义注释。

为此,您必须遵循以下步骤,请记住这些问题仅向经验丰富的 Java 程序员提出,而不是向新手提出,

要编写 Spring Boot 自定义注释,请按照以下步骤操作:

  1. 创建一个 Java 接口并使用@Retention@Target注释对其进行注释。@Retention注解指定该注解应保留多长时间@Target注解指定可以使用该注解的位置
  2. 定义注释的成员。成员可以是方法、字段或构造函数。
  3. 实现注释。这是可选的,但它对于提供附加功能或验证很有用。
@Retention (RetentionPolicy.RUNTIME) 
@Target (ElementType.TYPE)
公共@interface MyController { 

}

如何在spring-boot中连接多个DB?

很多时候在面试中会被问到这个问题,以检查你对 Spring Boot 的经验,只需通过以下步骤来回答问题即可。

您不太可能被要求编写代码。

要在 Spring Boot 中连接到多个数据库,请按照下列步骤操作:

  • 将必要的数据库依赖项添加到您的项目中。
    – 在 application.properties 或 application.yml 文件中配置数据库连接。- 使用@Bean
    注释为每个数据库连接创建一个DataSource bean 。- 使用@Bean注释为每个数据库连接创建一个TransactionManager bean 。- 使用@Autowired注释将 DataSource 和 TransactionManager bean 注入到您的应用程序代码中。- 使用 DataSource 和 TransactionManager bean 与数据库交互。

发布者:admin,转转请注明出处:https://www.ajihuo.com/soft/5729.html

(0)
上一篇 2023年10月4日 上午11:15
下一篇 2023年11月6日 上午8:56

相关推荐

  • 什么是Intellij IDEA,以后的发展如何

    在本文开始前,先给大家分享几个好用的IDEA激活码 这里提供几个最新的激活码,有需要的朋友可以试试,先到先用: 2022和2023Intellij IDEA最新激活码,IDEA稳定专属激活码(持续更新) 2022和2023Pycharm激活码,Pycharm稳定专属激活码(持续更新) 2022和2023Webstorm激活码,Webstorm稳定专属激活码(…

    2023年4月3日
    00
  • 什么是 API?

    在本文开始前,先给大家分享几个好用的IDEA激活码 这里提供几个最新的激活码,有需要的朋友可以试试,先到先用: 2022和2023Intellij IDEA最新激活码,IDEA稳定专属激活码(持续更新) 2022和2023Pycharm激活码,Pycharm稳定专属激活码(持续更新) 2022和2023Webstorm激活码,Webstorm稳定专属激活码(…

    2023年2月11日
    00
  • 什么是 R,它是如何使用的?

    在本文开始前,先给大家分享几个好用的IDEA激活码 这里提供几个最新的激活码,有需要的朋友可以试试,先到先用: 2022和2023Intellij IDEA最新激活码,IDEA稳定专属激活码(持续更新) 2022和2023Pycharm激活码,Pycharm稳定专属激活码(持续更新) 2022和2023Webstorm激活码,Webstorm稳定专属激活码(…

    2022年12月17日
    00
  • Spring Boot 2.0 — 项目结构和最佳实践(第 1 部分)

    在本文开始前,先给大家分享几个好用的IDEA激活码 这里提供几个最新的激活码,有需要的朋友可以试试,先到先用: 2022和2023Intellij IDEA最新激活码,IDEA稳定专属激活码(持续更新) 2022和2023Pycharm激活码,Pycharm稳定专属激活码(持续更新) 2022和2023Webstorm激活码,Webstorm稳定专属激活码(…

    2023年4月3日
    00
  • IntelliJ IDEA是一款功能强大的Java集成开发环境

    在本文开始前,先给大家分享几个好用的IDEA激活码 这里提供几个最新的激活码,有需要的朋友可以试试,先到先用: 2022和2023Intellij IDEA最新激活码,IDEA稳定专属激活码(持续更新) 2022和2023Pycharm激活码,Pycharm稳定专属激活码(持续更新) 2022和2023Webstorm激活码,Webstorm稳定专属激活码(…

    2023年2月12日
    00

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注