传统创建对象方法
IOC 底层原理
1 ioc 底层原理使用技术
(1)xml 配置文件
(2)dom4j 解决 xml
(3)工厂设计模式
(4)反射
2 画图分析 ioc 实现原理
第一步 、导入 jar 包
(1)解压资料 zip 文件
Jar 特点:都有三个 jar 包,分别是必备包,文档包,源代码包。一般我们只需要 copy 第一个
(2)做 spring 最基本功能时候,导入四个核心的 jar 包就可以了
(3)导入支持日志输出的 jar 包
(4)最终我们需要的总共 6 个 jar 包,如下
(5)把他们放到 web/WEB-INF/lib 目录下,并添加到环境变量中
第二步、 创建类,在类里面创建方法
创建 com.liuyanzhao.ioc 包,并新建 User.java 文件
- package com.liuyanzhao.ioc;
- /**
- * Created by Liu_Yanzhao on 2017/8/2.
- */
- public class User {
- public void add() {
- System.out.println(“add……….”);
- }
- public static void main(String[] args) {
- //原始做法,通过 new 来创建对象;而 spring 是通过配置文件来创建对象
- User user = new User();
- user.add();
- }
- }
第三步 创建 spring 配置文件,配置创建类
(1)spring 核心配置文件名称和位置不是固定的
– 建议放到 src 下面,官方建议 applicationContext.xml
(2)引入 schema 约束
具体位置在 \spring-framework-4.2.4.RELEASE\docs\spring-framework-reference\html
下的最后一个文件 xsd-configuration.html 中
我们是有浏览器打开,滚动条滑到最底端,复制如下内容
(3)配置对象创建
在 src 下创建 bean1.xml 文件,其实文件名和文件位置都不重要,
官方建议命名为 applicationContext.xml ,最后添加如下代码
- <?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”>
- <!–ioc 入门–>
- <!–id 可以随意,class 为类名路径–>
- <bean id=“user” class=“com.liuyanzhao.ioc.User”></bean>
- </beans>
(4)写代码测试 对象的创建
在 com.liuyanzhao.ioc 下新建 TestIOC 文件
- package com.liuyanzhao.ioc;
- import org.junit.Test;
- import org.springframework.context.ApplicationContext;
- import org.springframework.context.support.ClassPathXmlApplicationContext;
- /**
- * Created by Liu_Yanzhao on 2017/8/2.
- */
- public class TestIOC {
- @Test
- public void testuser() {
- //1、加载Spring配置文件,根据创建对象
- ApplicationContext context =
- new ClassPathXmlApplicationContext(“bean1.xml”);
- //2、得到配置创建的对象
- User user = (User) context.getBean(“user”);
- System.out.println(user);
- user.add();
- }
- }
对啦,这里还要导入 JUnit 包,用于测试方法
(5) 运行 TestIOC 方法
输出内容如下:
com.liuyanzhao.ioc.User@5bcea91b
add……….
说明,IOC 成功创建对象
本文内容参考:传智播客视频