《Spring 实战》Spring Ioc容器、Spring bean装配机制

Spring Ioc容器主要有两种类型:bean工厂和应用上下文,
工厂由BeanFactory接口定义是最简单的容器。应用上下文(ApplicationContext)是基于BeanFactory,并提供应用框架级别的服务。
BeanFactory中保存的是BeanDefinition即所谓的Bean,
BeanDefinition 中保存了我们的 Bean 信息,比如这个 Bean 指向的是哪个类、是否是单例的、是否懒加载、这个 Bean 依赖了哪些 Bean 等等。
在这里插入图片描述
Spring 容器负责创建应用程序中的Bean并通过DI来协调这些对象之间的关系。Spring主要提供三种装配机制:在xml中进行显示配置,java显示配置,隐式bean发现机制和自动装配,图中的彩色数字代表了,推荐使用的顺序。
在这里插入图片描述
自动忽略了XML装配的内容。
Spring 装配高级功能:
对于Spring表达式并不详尽
在这里插入图片描述
条件化Bean配置示例:

//这是需要满足的条件
public class MagicExesitCondition implements Condition {
    @Override
    public boolean matches(ConditionContext conditionContext, AnnotatedTypeMetadata annotatedTypeMetadata) {
        return conditionContext.getEnvironment().containsProperty("magic");
    }
}

@Configuration
public class KnightConfig {
//如果MagicExesitCondition的matches方法返回true,那么MagicBean会被装配到应用上下文中
    @Bean
    @Conditional(MagicExesitCondition.class)
    public MagicBean magicBean(){
        return new MagicBean();
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值