Day03 sping Boot工程中Bean的依赖注入分析

Day03-04 sping Boot工程中Bean的依赖注入分析

1.背景分析

Spring框架处理要解决对应的资源消耗,对象的应用性能问题,是否还要考虑对象的可维护性,可扩展性。
假如要考虑这个特性,那么该如何实现呢?一般程序中会借助继承或组合实现这样的特性,但继承或组合就离不开耦合,如何降低这种耦合呢?

2.Spring 工程中的依赖注入?

Spring框架作为一个资源整合框架,为了降低类于类之间的耦合,提高其程序的可扩展性,推荐存在耦合时,
要尽量耦合于接口或工厂(我们现在项目中对象的创建底层是耦合了Spring的BeanFactory工厂).并由
spring框架完成具体值的注入(DI).

class A{}
    implements IB{}
    class B implements IB{}
    class C extends B{}
    class d implements IB{}
    
    class A{
      private final B b1 = new B();
      private final B b2;
      A(B b2){
         this.b2=b2
      }
    public static void main(String[] args) {
        new A(new B());
        new A(new C());
      }

3.Spring 工程中依赖注入的业务设计及实现

1.创建项目module
2.创建业务接口Cache
3.创建业务接口实现类SoftCache,WeakCache.
4.定义单元测试类CacheTest,并且耦合于Cache接口,然后由spring完成接口值的注入。

FAQ?

1.当@Autwire注解描述属性时,其依赖注入规则是怎样的?
当spring框架检测到由它管理的bean内部有属性使用了@Autowired注解描述,则会从spring
容器中按照属性类型查找对应的Bean对象(这个过程叫依赖查找-DL),假如只有一个则直接注入。
假如有多个,还会基于属性名与bean对象的名字进行匹配,假如有匹配的则直接注入,没有匹配则抛出异常(依赖注入异常),当然我们也可以借助@Qualifier注解配合@Autowired注解使用,指定要注入的bean的名字。

2.Spring 中的依赖注入(DI)是基于什么技术实现的?反射技术
3.Spring 学习过程中有一个设计思想,称之为IOC(控制反转),如何实现控制反转呢?可以借助DI

Bug分析:

1.NoUniqueBeanDefinitionException (非唯一bean的定义)
2…

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值