Spring学习之路三——第一个Spring程序(体会IoC)

时间:2023-03-09 07:55:11
Spring学习之路三——第一个Spring程序(体会IoC)

体会IoC:Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。

步骤如下:

1.建立web功能

2.导入jar包

3.配置applicationContext.xml

4.创建类

5.测试

Spring学习之路三——第一个Spring程序(体会IoC)

具体代码如下

  UserDao.java 

 package cn.itcast.ioc;

 public interface UserDao {

     public void save();
}

  UserDaoImpl.java

package cn.itcast.ioc;

public class UserDaoImpl implements UserDao{

    public void save(){

        System.out.println("spring:hello user dao");
}
}

  applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<!-- Spring的约束配置 -->
<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-2.0.xsd "> <!-- 将指定对象配置给Spring,让spring创建其实例 -->
<!-- 在spring容器中创建一个id为userDao的bean实例 -->
<bean id="userDao" class="cn.itcast.ioc.UserDaoImpl"></bean> </beans>

  TestIoC.java

package cn.itcast.ioc;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext; public class TestIoC{ @SuppressWarnings("resource")
@Test
public void testDemo1(){ //1.定义配置文件路径(此处代表在类路径中)
String xmlPath = "applicationContext.xml";
//2.初始化Spring容器,加载配置文件
ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath);
//3.通过容器获取useDao实例
UserDao userDao = (UserDao)applicationContext.getBean("userDao");
//4.调用userDao的save()方法
userDao.save(); }
}

  Spring学习之路三——第一个Spring程序(体会IoC)