SpringBoot中Bean自动装配原理

本文介绍了SpringBoot中Bean自动装配的工作原理,通过Condition接口和@Conditional注解实现条件化加载Bean。以一个具体的需求为例,当pom.xml导入特定坐标时,才会加载User Bean。详细步骤包括创建条件判断类、配置User Bean,并在启动类中验证条件判断的效果。如果未导入所需坐标,尝试获取Bean时会抛出异常。
摘要由CSDN通过智能技术生成

###原理:

是通过Condition接口判断pom.xml有没有导入某个坐标或者依赖某个坐标而进行加载某个bean。

Condition是Spring4.0后引入的条件化配置接口,通过实现Condition接口可以完成有条件的加载相应的Bean,

然后通过@Conditional注解,要配和Condition的实现类(ClassCondition)进行使用

###需求

在spring的ioc容器中有一个User的Bean,如果pom.xml导入了Jedis坐标后,就加载该Bean,否则不加载

###代码实现:

1、先创建一个user对象

public class User {
}

2、创建一个UserConfig.java的配置类,生成User对象的Bean

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class UserConfig {
    @Bean
    public User user(){
        return new User();
    }
}

3、在Springboot的启动类中获取User对象的Bean

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplica
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值