Java 控制反转 IOC 依赖注入 DI

更多 Java 高级知识方面的文章,请参见文集《Java 高级知识》


控制反转 IOC 依赖注入 DI

控制反转 IOC:利用了反射机制
依赖注入 DI:是 IOC 的一种形式,使类与类之间解耦合

示例:
User Bean 实体类 Student:

  • 提供默认的构造方法
  • 提供 set/get 方法
public class Student {
    private String name;
    private int age;

    public Student() {
    }

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public void print() {
        System.out.println(name + "-" + age);
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

XML 配置文件 student.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="studentBean" class="Student">
        <property name="name" value="Tom"/>
        <property name="age" value="18"/>
    </bean>
</beans>

通过 BeanFactory 来注入 User Bean:

public static void main(String[] args) throws Exception {
    BeanFactory bf = new ClassPathXmlApplicationContext("student.xml");
    Student studentBean = (Student) bf.getBean("studentBean");

    studentBean.print();
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,033评论 18 399
  • 一. Java基础部分.................................................
    wy_sure阅读 9,277评论 0 11
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,739评论 19 139
  • 一、Spring框架 1.1 Spring框架是什么 Spring是一种容器框架,用于配置各个组件(bean)并且...
    Jane_Static阅读 3,038评论 0 0
  • 嗯,我学会了怎样打电话,这样说,还有怎样听,怎样合适地做好自己的角色,在不该说话的场合保持沉默,冷静,还有,该开车...
    lygly9阅读 1,176评论 0 0