三方集成自动配置

1.SpringBoot中配置文件的优先级?

同一个属性,可以通过五种形式来进行配置。

五种配置方式:(优先级由低到高)

  • application.yaml
  • application.yml
  • application.properties
  • Java系统属性(-Dxxxx=xxxx)
  • 命令行参数(–xxxx=xxxx)

在这里插入图片描述

2.SpringBoot中配置端口有哪些方式,优先级是怎样的?

1).application.properties

server.port=8080

2).application.yml(主流)

server:
  port: 8081

3). application.yaml

server:
  port: 8082

4). Java系统属性配置

-Dserver.port=9000

5). 命令行参数配置

--server.port=10010

6).执行java命令,运行jar包

java -Dserver.port=9000 -jar tlias-web-management-0.0.1-SNAPSHOT.jar --server.port=10010

3.能够说出bean的两种常见的作用域及如何设置作用域?

在这里插入图片描述

Singleton(单例)作用域:

  • 单例作用域是默认的作用域,每次从Spring容器获取该Bean时,都会返回同一个实例对象。
  • 在单例作用域下,Spring容器只会创建一个实例,并将该实例缓存起来,以供后续的请求使用。
  • 可以使用@Scope(“singleton”)注解或者不声明任何注解来指定Bean为单例作用域。

Prototype(原型)作用域:

  • 原型作用域表示每次从Spring容器获取该Bean时,都会创建一个新的实例对象。
  • 在原型作用域下,Spring容器每次都会通过调用构造函数创建一个新的实例对象,而不会对实例进行缓存或重用。
  • 可以使用@Scope(“prototype”)注解来指定Bean为原型作用域。

设置作用域的方式

  • 使用注解:可以直接在Bean的声明处通过@Scope注解来设置作用域,如@Scope(“singleton”)或@Scope(“prototype”)。
  • XML配置:可以在Spring配置文件中为Bean设置作用域,使用标签的scope属性,如scope="singleton"或scope=“prototype”。
  • 配置类:如果使用Java配置来定义Bean,可以在配置类的@Bean方法上使用@Scope注解进行设置,如@Scope(“singleton”)或@Scope(“prototype”)。

注意事项:

  • 默认singleton的bean,在容器启动时被创建。
  • prototype的bean,每一次使用该bean的时候,都会创建一个新的实例。

4.怎么使用@Bean注解来管理第三方bean

1.先将第三方Bean导入到项目中。可以通过依赖管理工具(比如Maven或Gradle)将第三方库添加到项目的构建配置中。

2.在配置类中使用@Bean注解来声明一个方法,返回第三方Bean的实例。可以在该方法中对第三方Bean进行初始化和配置。

5.@Conditional注解和@Import注解的作用是什么?

@Conditional注解

  • 作用:根据指定的条件来判断是否需要加载或配置某个Bean或组件。可以提高应用程序的可配置性和灵活性。
//@Conditional注解通常用于配置类中的@Bean方法上,用于根据条件来判断是否需要创建并注册该方法返回的Bean

@Configuration
public class AppConfig {
    @Bean
    @Conditional(DatabaseTypeCondition.class) // 根据数据库类型条件判断是否创建该Bean
    public DataSource dataSource() {
        // 配置并返回数据源
    }
}

@Import注解

  • 作用:用于导入其他的配置类或者组件。实现在当前类中使用这些已导入的配置或组件,这样可以提高代码的模块化和复用性
//在使用@Import注解时,可以传入一个或多个配置类作为参数,也可以传入其他的注解类,实现对该注解类中定义的配置的导入。
//具体实现上,@Import注解可以放在配置类上,用于导入其他配置类

@Configuration
@Import({ConfigA.class, ConfigB.class})
public class AppConfig {
    // ...
}

6.简要的说出springboot自动配置的原理?

原理:

​ 在应用程序启动时,Spring Boot会自动扫描classpath下的META-INF/spring.factories文件,并加载其中的自动配置类。根据条件注解的判断,Spring Boot会自动选择合适的自动配置类,并创建相应的Bean

好处:

Spring Boot能够在应用程序启动时自动完成各种功能的配置和装配,大大简化了开发者的工作量。开发者只需引入相应的Starter依赖,并配置一些必要的属性,即可快速构建一个功能完备的Spring Boot应用程序。

猜你喜欢

转载自blog.csdn.net/2302_77094379/article/details/132199329