(4)IOC (Inversion Of Controll 控制反转)

什么是IOC?

对象之间的依赖关系由容器来建立。

什么是DI? (Dependency Injection 依赖注入)

容器通过调用set方法或者构造器来建立对象之间的依赖关系。
注: IOC是目标,而DI是手段。

 

Unit02: 参数值注入 、 基于注解的组件扫描

依赖注入的两种方式

方式一 set方法注入。

step1. 添加set方法。

Unit02: 参数值注入 、 基于注解的组件扫描

step2. 配置set方法注入。

Unit02: 参数值注入 、 基于注解的组件扫描

方式二 构造器注入。

step1. 添加构造器。

Unit02: 参数值注入 、 基于注解的组件扫描

step2. 配置构造器注入。

Unit02: 参数值注入 、 基于注解的组件扫描

自动装配 (了解)

什么是自动装配?

容器依据某些规则,自动建立对象之间的依赖关系。
注:默认情况下,容器禁止自动装配。

Unit02: 参数值注入 、 基于注解的组件扫描

注入基本类型的值

使用value属性来注入。

注入集合类型的值

List,Set,Map,Properties

引用的方式注入集合类型的值

Unit02: 参数值注入 、 基于注解的组件扫描

读取properties文件的内容

Unit02: 参数值注入 、 基于注解的组件扫描

使用Spring表达式

Unit02: 参数值注入 、 基于注解的组件扫描

案例:

 

Unit02: 参数值注入 、 基于注解的组件扫描

auto

package auto;

public class Restaurant {
    private Waiter wt;
    
    public void setWt(Waiter wt) {
        System.out.println("setWt()");
        this.wt = wt;
    }

    public Restaurant() {
        System.out.println("Restaurant");
    }

    @Override
    public String toString() {
        return "Restaurant [wt=" + wt + "]";
    }

}
Restaurant.java

相关文章:

  • 2023-01-10
  • 2022-12-23
  • 2021-11-29
  • 2021-08-03
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-29
猜你喜欢
  • 2022-12-23
  • 2021-11-26
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案