• 那是从何处传来的钟声呢?偶尔听到那钟声,平添一份喜悦与向往之情。

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

后端 Nanait 12年前 (2012-11-14) 1671次浏览 已收录 0个评论 扫描二维码
文章目录[隐藏]

传统创建对象方法

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&#8221;
  3.        xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance&#8221;
  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 方法

输出内容如下:

com.liuyanzhao.ioc.User@5bcea91b

add……….

说明,IOC 成功创建对象

 

 

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


何处钟 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Spring 的 ioc 底层原理和简单实例
喜欢 (12)
[15211539367@163.com]
分享 (0)

您必须 登录 才能发表评论!