在本文开始前,先给大家分享几个好用的IDEA激活码
这里提供几个最新的激活码,有需要的朋友可以试试,先到先用:
2022和2023Intellij IDEA最新激活码,IDEA稳定专属激活码(持续更新)
2022和2023Pycharm激活码,Pycharm稳定专属激活码(持续更新)
2022和2023Webstorm激活码,Webstorm稳定专属激活码(持续更新)
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 自定义注释,请按照以下步骤操作:
- 创建一个 Java 接口并使用@Retention和@Target注释对其进行注释。@Retention注解指定该注解应保留多长时间。@Target注解指定可以使用该注解的位置。
- 定义注释的成员。成员可以是方法、字段或构造函数。
- 实现注释。这是可选的,但它对于提供附加功能或验证很有用。
@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