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

矫情吗;* 2023-07-07 05:50 163阅读 0赞

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配置示例:

  1. //这是需要满足的条件
  2. public class MagicExesitCondition implements Condition {
  3. @Override
  4. public boolean matches(ConditionContext conditionContext, AnnotatedTypeMetadata annotatedTypeMetadata) {
  5. return conditionContext.getEnvironment().containsProperty("magic");
  6. }
  7. }
  8. @Configuration
  9. public class KnightConfig {
  10. //如果MagicExesitCondition的matches方法返回true,那么MagicBean会被装配到应用上下文中
  11. @Bean
  12. @Conditional(MagicExesitCondition.class)
  13. public MagicBean magicBean(){
  14. return new MagicBean();
  15. }
  16. }

发表评论

表情:
评论列表 (有 0 条评论,163人围观)

还没有评论,来说两句吧...

相关阅读