Spring-IOC(Inversion of Control)
ioc是一种设计思想 全称inversion of Control
意思是"控制反转"
对象的创建权利完全交给Spring
框架来完成 管理对象的生命周期
想要控制对象需要 配置spring.xml
文件
在resources
创建一个spring.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">
<!-- 被spring 管理的对象称之为 bean
bean 标签的属性 :
id: 是spring容器中对象的唯一标识符 不能重复
class: 对象的包路径 / 全路径
-->
<bean id="user" class="com.jt.demo.User"></bean>
</beans>
使用通过ClassPathXmlApplicationContext
进行使用
注意导入的包 一定是spring 的包
getBean
获取对象
String resource = "spring.xml";
// 创建spring 容器 并加载指定的配置文件 对象已经交给容器管理
ApplicationContext context = new ClassPathXmlApplicationContext(resource);
//通过 ID 获取对象
User user1 = (User)context.getBean("user");
//通过 类名 获取对象
User user2 = context.getBean(User.class);
user1.say();
user2.say();
关于Spring
容器
Spring容器的 数据结构 是 Map
集合 Map<key,value>
key
是id
value
是反射机制实例化的对象
也就是底层通过发射来获取对象 通过 key value
存储Map
数组里面