zoukankan      html  css  js  c++  java
  • Spring系列(1)--IOC 和 DI

    IOC 和 DI

    IOC 原理

    • xml 配置文件配置 bean

    • dom4j 读取配置文件

    • 工厂设计模式

    • 反射机制创建对象

    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">
        
        <bean id="user" class="x.y.User"></bean>
    </beans>
    

    JavaBean User.java:

    package x.y;
    class User{
        private int id;
        private String name;
        public void setID(int id){
            this.id = id;
        }
        public Int getID(){
            return id;
        }
        public void setName(String name){
            this.name = name;
        }
        public String getName(){
            return name;
        }
    }
    

    以上就是根据 JavaBean 进行配置文件的最简单配置。接下来是工厂设计模式+反射机制创建对象的过程,只需了解这一过程,并不是完整的源代码:

    Factory.java:

    public class Factory{
        public static User getBean(){
            // 通过 dom4j 解析 XML 文件
            // 根据 id 得到 class 属性值
            String classValue = "";
            // ;利用反射创建对象
            Class clazz = Class.forName(classValue);
            return clazz.newInstance();
        }
    }
    

    IOC 和DI的区别

    IOC:控制反转,将对象创建交给 Spring 进行配置

    DI:依赖注入,向类中的属性注入值

    关系:控制反转是依赖注入的前提,也就是说,没有 IOC 的话,也就不存在 DI

  • 相关阅读:
    Python字符串
    MySQL触发器
    MySQL 1418报错解决办法
    数据库下载
    补码与反码
    二、八、十六进制之间的转换
    this 指向
    作用域 var 词法分析 arguments
    事件绑定的3种方式
    清浮动方法小结
  • 原文地址:https://www.cnblogs.com/JachinYin/p/9172689.html
Copyright © 2011-2022 走看看