Spring 之 IOC:IOC 控制反转或者依赖注入,控制反转意思就是说,当我们调用一个方法或者类时,不再有我们主动去创建这个类的对象,控制权交给别人 (spring)。
依赖注入意思就是说,spring 主动创建被调用类的对象,然后把这个对象注入到我们自己的类中,使得我们可以使用它。
举个简单的例子,程序猿加班了一个月,很累,想要放松下,于是去找人吃 "麻辣烫"。
不使用 spring 的传统做法是,我们自己通过陌陌微信等神器,主动寻找目标,花费大量人力物力,达成协议后,申请 "场所" 办正事。
而使用 spring 的做法就很方便了,我们直接去某个场所,那个地方直接就有目标候着!
1 首先我们需要一个 bean,用某种方法 (设置注入需要有 setter 函数,构造注入需要有构造函数,相应的 bean.xml 配置文件也会不同) 设定注入方式。
2 bean.xml,设置 bean 与类的关系,并关联默认的注入值。
3 获取 bean.xml 文件,创建实例对象,直接调用方法。
可以看到,我们开发的程序只有第三步的 "创建实例对象,直接调用方法",并没有为他进行初始化等工作,就可以直接调用它的方法,获取它的值。其实 spring 在程序初始化的时候,就会为我们把 bean 对应的对象注入进来,帮助我们完成初始化,因此我们只要通过一个引用对象,就可以直接调用了。
1 需要的 jar 包和文件结构
2 bean.xml 配置文件,放在 src 目录下
- 1 2 6 7 8 9 10
3 Person 类,这里使用的是 set 设置注入方式
- package com.test.bean;
- public class Person {
- private String name;
- private int 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;
- }
- public void info() {
- System.out.println("一起来吃麻辣烫!");
- System.out.println("name:" + getName() + " age:" + getAge());
- }
- }
4 test 类
- package testSpring;
- import org.springframework.context.ApplicationContext;
- import org.springframework.context.support.ClassPathXmlApplicationContext;
- import com.test.bean.Person;
- public class test {
- public static void main(String[] args) {
- ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml"); //读取bean.xml中的内容 Person p = ctx.getBean("person",Person.class);//创建bean的引用对象 p.info(); }}
就爱阅读 www.92to.com 网友整理上传, 为您提供最全的知识大全, 期待您的分享,转载请注明出处。
来源: http://www.92to.com/bangong/2017/03-13/18635868.html