0
点赞
收藏
分享

微信扫一扫

IOC与DI

金牛豆豆 2022-04-27 阅读 94
spring

IOC 控制反转,对象的创建控制权交给spring核心容器 大白话:由IOC容器替我们new对象

DI 依赖注入,实现功能,属性的值由spring容器主动提供 大白话:给成员变量赋值

功能:解读代码耦合性太强的弊端,

实现步骤:

在maven工程环境下:

1.【第一步】在pom文件中导入Spring坐标

<dependencies>
    <!--导入spring的坐标spring-context,对应版本是5.2.10.RELEASE-->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>5.2.10.RELEASE</version>
    </dependency>
</dependencies>
【第二步】定义Spring管理的类(接口)

 Student 和 User类来测试IOC实例化对象

A和B类用来测试DI依赖注入


【第三步】创建Spring配置文件,配置对应类作为Spring管理的bean对象

定义applicationContext.xml配置文件,通过配置文件完成bean的实例化和依赖注入

实例化一个对象:

<bean></bean>标签:实例化bean,中间可以依赖注入,主要有由id和class等属性

<property>标签:setter依赖注入

<constructor-arg>构造器依赖注入 






    name:属性:你要赋值的变量  value:赋值   ref:引用数据类型注入的参照,如bean类A注入的引用数据类型为b bean类B标签的id

【第四步】初始化IOC容器(Spring核心容器/Spring容器),通过容器获取bean对象
public static void main(String[] args) {
    ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
    //通过id从IOC接口(映射到配置文件)中获取到bean这个对象
    Student student = (Student) context.getBean("student");
    student.method();
    A a = (A) context.getBean("a");//参数为该bean标签的id
    a.method();
}
举报

相关推荐

0 条评论