Spring IOC的工作机制以及简单应用

一,IOC的概念

IOC(控制反转):
从用户角度来看,生成一个新对象我们一般用new来实现,这是用户的操作,而IOC(控制反转),即把生成对象交给spring容器来管理,我们要使用的时候由spring容器给我们提供。
对于spring容器的角度来看,spring容器负责将被依赖的对象注入到调用者的成员变量,这就是依赖注入(DI),是IOC从不同角度的理解。

二,创建一个Spring的入门程序

1.引入文件到项目(添加依赖文件)

使用spring框架需要引入四个基础jar包到项目中,即spring-beans-xxx.jar,spring-core-xxx.jar,spring-context-xxx.jar,spring-expression-xxx.jar,这四个包分别对应spring核心容器的四个模块。此外,spring框架依赖于Apache Commons Logging组件,所以还需引入commons-logging-xxx.jar。(xxx为jar包的版本号)

2.代码

//持久层接口
package Dao;
public interface TestDao {
    public void sayhello();
}
//持久层接口实现类
package Dao;
public class TestDaoImpl implements TestDao{
    @Override
    public void sayhello() {
        System.out.println("hello study hard");
    }
}
package Test;

import Dao.TestDao;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Test {
    public static void main(String[] args) {
        @SuppressWarnings("resource")
        //读取spring的配置文件
        ClassPathXmlApplicationContext cpxAppCon = new ClassPathXmlApplicationContext("applicationContext.xml");
		
		//从容器中获得一个Bean的实例,IOC的体现。
		//注意,如果未在配置文件中配置Bean或者未使用注解声明Bean,这里是从容器中取不到对象的。
        TestDao test = (TestDao) cpxAppCon.getBean("test");
        test.sayhello();

    }
}

3.spring的配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd">
        
	<!-- 将指定类TestDaoImpl配置给Spring,让Spring创建其实例, 
		 注意,配置bean用的是TestDaoImpl的全路径。-->
	<bean id="test" class="Dao.TestDaoImpl" />
</beans>

4.目录结构

如下图所示:
在这里插入图片描述

5.运行结果

如下图所示:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring IOC(控制反转)是Spring框架的核心特性之一,它通过管理对象的创建和依赖注入,实现了对象之间的解耦和灵活性。下面是Spring IOC工作流程: 1. 配置:首先,您需要创建一个 Spring 配置文件,通常是 XML 格式的。这个配置文件中包含了Spring容器需要了解的关于对象的定义和配置信息,比如对象的类名、依赖关系、属性值等。 2. 加载:Spring IOC 容器负责加载和解析配置文件,读取配置信息并创建相应的对象。 3. 实例化:Spring IOC 容器根据配置文件中的定义,使用反射机制实例化对象。这些对象被称为 Spring Bean。 4. 依赖注入:一旦对象被实例化,Spring IOC 容器会检查对象的依赖关系,并自动将依赖的对象注入到相应的属性中。这种依赖注入可以通过构造函数、Setter 方法或字段注入来完成。 5. 生命周期管理:Spring IOC 容器管理 Spring Bean 的生命周期。它会在适当的时候调用初始化方法和销毁方法,以确保对象被正确地创建和销毁。 6. 提供 Bean:一旦所有的对象都被创建和初始化,Spring IOC 容器就可以提供这些对象给其他的应用程序组件使用了。 通过这个工作流程,Spring IOC 实现了对象的解耦和灵活性。开发人员只需要关注对象的定义和配置,而不需要显式地创建和管理对象。这样可以提高代码的可维护性、可测试性和可扩展性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值