Spring的ioc底层原理和简单实例

传统创建对象方法

Spring的ioc底层原理和简单实例

 

IOC 底层原理

1 ioc底层原理使用技术

(1)xml配置文件

(2)dom4j解决xml

(3)工厂设计模式

(4)反射

2 画图分析ioc实现原理

Spring的ioc底层原理和简单实例

 

第一步 、导入jar包

(1)解压资料 zip 文件

Jar 特点:都有三个 jar 包,分别是必备包,文档包,源代码包。一般我们只需要 copy 第一个

Spring的ioc底层原理和简单实例

 

(2)做spring最基本功能时候,导入四个核心的jar包就可以了

Spring的ioc底层原理和简单实例

(3)导入支持日志输出的 jar 包

(4)最终我们需要的总共 6 个 jar 包,如下

Spring的ioc底层原理和简单实例

(5)把他们放到 web/WEB-INF/lib 目录下,并添加到环境变量中

 

第二步、 创建类,在类里面创建方法

创建 com.liuyanzhao.ioc 包,并新建 User.java 文件

  1. package com.liuyanzhao.ioc;
  2. /**
  3.  * Created by Liu_Yanzhao on 2017/8/2.
  4.  */
  5. public class User {
  6.     public void add() {
  7.         System.out.println("add..........");
  8.     }
  9.     public static void main(String[] args) {
  10.         //原始做法,通过new来创建对象;而spring是通过配置文件来创建对象  
  11.         User user = new User();
  12.         user.add();
  13.     }
  14. }

 

第三步 创建spring配置文件,配置创建类

(1)spring核心配置文件名称和位置不是固定的

- 建议放到src下面,官方建议applicationContext.xml

(2)引入schema约束

具体位置在  \spring-framework-4.2.4.RELEASE\docs\spring-framework-reference\html

下的最后一个文件 xsd-configuration.html 中

我们是有浏览器打开,滚动条滑到最底端,复制如下内容

Spring的ioc底层原理和简单实例

(3)配置对象创建

在 src 下创建 bean1.xml 文件,其实文件名和文件位置都不重要,

官方建议命名为 applicationContext.xml ,最后添加如下代码

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3.        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4.        xsi:schemaLocation="
  5.         http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
  6.     <!--ioc入门-->
  7.     <!--id可以随意,class为类名路径-->
  8.     <bean id="user" class="com.liuyanzhao.ioc.User"></bean>
  9. </beans>

(4)写代码测试 对象的创建

在 com.liuyanzhao.ioc 下新建 TestIOC 文件

  1. package com.liuyanzhao.ioc;
  2. import org.junit.Test;
  3. import org.springframework.context.ApplicationContext;
  4. import org.springframework.context.support.ClassPathXmlApplicationContext;
  5. /**
  6.  * Created by Liu_Yanzhao on 2017/8/2.
  7.  */
  8. public class TestIOC {
  9.     @Test
  10.     public void testuser() {
  11.         //1、加载Spring配置文件,根据创建对象
  12.         ApplicationContext context =
  13.             new ClassPathXmlApplicationContext("bean1.xml");
  14.         //2、得到配置创建的对象
  15.         User user = (User) context.getBean("user");
  16.         System.out.println(user);
  17.         user.add();
  18.     }
  19. }

对啦,这里还要导入 JUnit 包,用于测试方法

(5) 运行 TestIOC 方法

输出内容如下:

[email protected]

add..........

说明,IOC 成功创建对象

 

 

本文内容参考:传智播客视频

本文链接:https://liuyanzhao.com/5598.html