第一步:编写实体类java
package com.xuan.pojo;
import java.io.Serializable;
/**
* xuan
* 2020/7/15
* 1870136088@qq.com
**/
public class User implements Serializable {
private String name;
private Integer age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
第二步:编写spring核心配置文件applicationContext.xml(而且把User注入到bean容器中)spring
id
属性是标识单个bean定义的字符串。编程
class
属性定义Bean的类型,并使用彻底限定的类名。app
property属性进行赋值 也是经过Spring容器进行赋值的ide
id至关于变量名 class至关于反射建立对象(ClassforName)因而Spring就为咱们建立了User对象函数
当咱们用的时候咱们是从Spring的Bean容器中拿的,这说明咱们已经把建立对象和赋值交给spring了也就时控制反转IOC测试
第三步:编写测试类ui
实例化容器:this
提供给ApplicationContext
构造函数的一个或多个位置路径是资源字符串,可以让容器从各类外部资源(例如本地文件系统,Java等)中加载配置元数据CLASSPATH
。spa
使用容器:
该ApplicationContext
是一个维护bean定义以及相互依赖的注册表的高级工厂的接口。经过使用方法 T getBean(String name, Class<T> requiredType)
,您能够检索bean的实例。
public class TestUser {
public static void main(String[] args) {
ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");
User user = applicationContext.getBean("user", User.class);
System.out.println(user);
}
}
//测试成功 输出结果为:
User{name='xuan', age=22}
写到这能够聊一聊什么是控制反转?
控制? 主要讲的应该是建立对象交由谁(spring)来控制
反转? 是一个从主动编程建立对象到被动接受spring建立的对象的一种转化