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

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

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

1.@Autowire注解描述属性时,其依赖注入规则是怎样的?

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

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

Bug分析:
1.NoUniqueBeanDefinitionException (非唯一bean的定义)

你可能感兴趣的:(Spring Boot 工程中Bean的依赖注入分析)