SpringIOC的了解和使用

IOC 的概念和作⽤

IOC 名词解释:作用是解耦,使用IOC容器管理项目组件之间的耦合关系

IOC(中文释义:控制反转)是Spring框架的核心思想之一,主要用于解耦。IOC是指创建对象的控制权转移给Springbean框架进行管理。由Spring框架根据配置文件或注解等方式,创建bean对象并管理bean对象之间的依赖关系。使对象之间形成松散耦合的关系,实现解耦。

  • 控制:指的是对象创建(实例化,管理)的权力
  • 反转:控制权交给外部环境(Spring框架,IOC容器)

IOC主要作用是解耦,那么要怎么解耦呢?

⼯⼚模式解耦

演示:以解耦⽅式维护三层之间的依赖关系

提示:把三层的对象都使⽤配置⽂件配置起来,当启动服务器应⽤加载的时候,让⼀个类中的⽅法,通过读取配置⽂件,把这些对象创建出来并存起来。在接下来的使⽤的时候,直接拿过来⽤就好了。 那么,这个读取配置⽂件,创建和获取三层对象的类就是⼯⼚。

控制反转

1.存哪里

分析:由于我们是很多对象,肯定要找个集合来存;这时候有 Map 和 List 供选择,在应⽤加载时,创建⼀个 Map,⽤于存放三层对象, 我们把这个 map 称之为容器。

2、还是没解释什么是⼯⼚?

⼯⼚就是负责给我们从容器中获取指定对象的类,这时候我们获取对象的⽅式发⽣了改变。

原来: 我们在获取对象时,都是采⽤ new 的⽅式,是主动的

现在: 我们获取对象时,同时跟⼯⼚要,有⼯⼚为我们查找或者创建对象,是被动的

这种被动接收的⽅式获取对象的思想就是控制反转,它是 spring 框架的核⼼之⼀

SpringIOC 解决程序耦合

准备 spring 的开发包
<dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.3.29</version>
        </dependency>
</dependencies>
创建业务层接⼝和实现类

基于 XML 的配置
主配置文件
<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">
</beans>
在xml文件中添加坐标
<!-- 配置 service -->
<bean id="userService" class="com.apesource.service.UserServiceImpl">
</bean>
<!-- 配置 dao -->
<bean id="userDao" class="com.apesource.dao.UserDaoImpl"></bean>
测试配置是否成功
public static void main(String[] args) {
 //1.创建spring核⼼对象并加载主配置⽂件
 ApplicationContext applicationContext = new ClassPathXmlApplicati
onContext("beans.xml");
 //2.向spring容器索要对象
 IUserService service = (IUserService)applicationContext.getBean("u
serService");
 IUserDao dao = (IUserDao)applicationContext.getBean("userDao");
 //3.调⽤⽅法
 service.insert();
 dao.insert();
 }

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值