Spring IOC 控制反转
程序员文章站
2022-07-12 13:59:04
...
Spring框架一共分为两个大块,一个是IOC控制反转,一个是AOP面向切面
这篇文章是一个Spring的IOC的一个简单的计算机属性案例
首先在见一个spring的配置文件
名字可以随便写
配置文件的一些基本配置我用图解写出来了
上面有最基本的一些类的配置
然后是我的实体类
简单说下结构
首先有一个computer计算机类,有三个属性,CPU,硬盘,内存条,每个属性都是一个接口,每个接口都有2个实现类,例如实现CPU接口的类里面写一个方法,返回一个String类型的CPU品牌名称,这里就是一个Intel和AMD两个类,分别返回字符串“Intel”和“AMD”硬盘和内存条都是这样的结构,有图参考
然后就是怎么用Java代码加载配置问件的类了,有两种方法,一个是懒加载,一个是即时加载,懒加载是指只有在用到这个实体类的时候才会去创建这个类,即时加载就是在你启动程序的时候就把你配置在spring的所有类都加载出来,这样第一个运行程序就会慢很多,懒加载则是启动快,启动之后的使用没有即时加载那么快
这个是懒加载的调用方法
//读取Spring配置文件
//延迟加载
BeanFactory bf=new XmlBeanFactory(new ClassPathResource("applicationContext.xml"));
Computer computer=(Computer) bf.getBean("computer");
即时加载
ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml");
Computer computer=(Computer) ac.getBean("computer");
这样拿类虽然比我们用代码直接new一个类复杂了一些,但是这种方法不管你拿同一个类多少次这个类在内存中的地址始终只有一个,直接new一个的话你创建一个他在内存中就多一个,当你的用户量庞大的时候就会造成内存的问题 上面配置文件还有一些没有提到的这里我就给两张属性图
—–——
上一篇: Spring IOC控制反转
下一篇: Spring IoC