SpringBoot自动装配

SpringBoot中配置文件的优先级?

常见的配置文件一般有三种,优先级从低到高依次是 yaml-->yml-->properties

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

一般有5中方式可以配置端口,分别是 yml、yaml、properties三种配置文件中配置端口号,还有两种方式分别是从Java系统属性和命令行参数来进行配置

Java系统属性进行配置的格式:  -Dserver.port=端口号
命令行参数进行配置的格式:  --server.port=端口号

bean的两种常见的作用域及如何设置作用域?

两种常见作用域:Singleton(单例  默认使用单例)、Prototype(原型),(还有三种作用域,这三种作用域只在web环境中才生效,分别是request、session、aaplication)

作用域:
Singleton的作用会在整个程序中只创建出一个bean实例
prototype的作用是在每次请求bean的时候都会创建出一个新的实例,并且每个bean都是独立的,并且具有不同的状态。

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

需要在一个配置类中使用@Bean注解来将第三方bean加入到IOC容器中

@Configuration  // 配置类注解
public class CommonConfig {
@Bean
public BASE64Encoder base64Encoder() { // 一般都是使用类的名字来作为bean的名字
        return new BASE64Encoder();
    }
}

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

@Conditional注解的作用:将bean注册到IOC容器中,其中@Conditional注解又衍生出了很多的子注解
@Conditional子注解及作用如下:
    @ConditionalOnClass:判断环境中是否有对应字节码文件,才注册bean到IOC容器。
    @ConditionalOnClass(name = "xxx") // 判断xxx类是否存在,只有存在才会将bean注册到IOC容器中。
    @ConditionalOnMissingBean:判断环境中没有对应的bean ,才注册bean到IOC容器。
    @ConditionalOnMissingBean(name = "xxxx")// 当xxxx这个bean不存在的时候,才会注册。
    @ConditionalOnProperty:判断配置文件中是否有对应属性和值,才注册bean到IOC容器。
    @ConditionalOnProperty(name = "key",havingValue = "value") // 在配置文件中存在key属性,并且值为value的时候,才会将bean注册进来。
    
@Impport的作用: 导入的bean和配置类会被Spring加载到IOC容器中,@Impport可以有三种不同的导入方式,分别是:Bean、配置类和ImportSelector接口实现类

 代码示例如下:

@Import({TokenParser.class,HeaderConfig.class})
@SpringBootApplication
public class SpringbootDemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(SpringbootThirdbeanApplication.class, args);
    }
}

springboot自动配置的原理?

在Spring Boot中,自动配置是通过@EnableAutoConfiguration注解来实现的。当我们在应用程序的主类上添加了@EnableAutoConfiguration注解时,Spring Boot会自动扫描并加载classpath下的所有META-INF/spring.factories文件,该文件中定义了各个自动配置类的全限定名。
自动配置类通常使用@Configuration注解进行标记,并且使用@ConditionalOnClass、@ConditionalOnMissingBean、@ConditionalOnProperty等条件注解来控制自动配置的条件。这些条件注解可以根据类的存在与否、Bean的存在与否、配置属性的值等来决定是否应用该自动配置。
当满足自动配置的条件时,Spring Boot会自动创建相应的Bean,并将其添加到Spring的应用上下文中。这样,我们就可以直接使用这些自动配置的Bean,而无需手动进行配置。
总结起来,Spring Boot的自动配置原理就是通过条件注解和条件化配置机制,根据一定的条件自动加载和配置相应的Bean,简化了应用程序的配置工作。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值