学习视频🎥:https://www.bilibili.com/video/BV1Vf4y127N5
💬概述:Spring 是轻量级的开源的JavaEE框架,IOC和AOP是Spring 的两个核心部分
轻量级:Spring 需要配置的依赖(jar 包)较少,也不需要额外添加其他依赖,整体体积也较小,可以独立使用
🎯目的:简化企业应用开发
🔑特点:
💬概述:Inversion Of Control 控制反转,意思就是将对象的创建权反转(交给)了Spring,或者说对象创建的控制权不是"使用者",而是"框架"或者"容器"
🎯作用与目的:
🔑底层实现技术:xml 解析、工厂模式、反射
🔑IOC 实现过程:IOC思想基于IOC容器完成,IOC容器底层就是对象工厂
创建对象(以xml 配置为例):在xml 配置文件中配置将要创建的对象
创建工厂类:在工厂类中解析xml 文件和通过反射创建对象
public class UserFactory {public static UserDao getUserDao() {// 1. 解析xml文件,获取对应的class属性值,此处简略具体代码...String classValue = class属性值...;// 2. 通过反射创建对象UserDao uDao = (UserDao)Class.forName(classValue).newInstance();return uDao;}
}
🔑IOC 底层中的工厂模式

🔑 接口
① BeanFactory
② ApplicationContext(推荐)
BeanFactory接口的子接口,提供更强大的功能,一般由开发人员使用
特点:在加载配置文件的时候就已经创建好对象
❓为什么使用ApplicationContext会更好:配置文件、创建对象等操作比较耗时耗资源,所以一般将这些操作放在项目启动(服务器启动)前完成,项目启动后就可以直接使用,而不是等到要使用时才来创建
📚常见八股文:BeanFactory和ApplicationContext的区别
🔑对应实现类
FileSystemXmlApplicationContext:传入参数为文件的全路径,即在磁盘中的位置ClassPathXmlApplicationContext:传入参数为文件在项目中src的类路径,如果放在src目录下,直接写文件名即可// 加载spring配置文件(xml),创建工厂类对象
// 1. 方式一
BeanFactory context01 = new ClassPathXmlApplicationContext("bean01.xml");// 2. 方式二
ApplicationContext context02 = new ClassPathXmlApllicationContext("bean01.xml");
🔑获取对象
/* 根据创建的工厂类对象context,获取对应对象- 第一个参数:xml文件中标签的id属性值- 第二个参数:需要获取的对象对应的Class对象(如果不写,返回对象类型默认是Object)
*/
UserDao userDao = context.getBean("uDao", UserDao.class);
下一篇:红队渗透靶场之SickOs1.1