Spring的IOC学习
什么是Spirng ?
- Spirng是一款开源的,免费的框架,核心目的就是简化企业级别的开发
- 核心技术分为两种一种是IOC(控制反转)另一种是AOP(面向切面编程).
Spring的主要作用
- 给代码解耦,降低代码之间的耦合度
Spring的优点
- 轻量化,导入的依赖不过才几百kb,Spring的核心jar包不超过3M.
- IOC控制反转,解耦合,原来在程序代码中需要开发人员去创建对象,给属性赋值,创建对象之间的连接,但现在有了Spring就很方便,都交给容器去做,实现类对代码的解耦。
- 能继承很多优秀的框架,Spring就像是插排一样,其他的框架就像是插头,Spring将他们连接到一起,需要时可以轻松插入,不用时也没有任何影响,轻松拿走。
控制反转(IOC,Inverse of control)
描述:将创建对象,属性赋值,的管理工作都交给代码之外的容器来做,也就是创建对象的工作由其他外部资源完成
- 控制:指的是创建对象,给属性赋值,对象关系之间的处理
- 正转:指在开发过程中,由我们开发人员来对代码进行对象创建,属性赋值,开发人员管理对象
- 反转:不需要我们开发人员来对代码进行创建,属性赋值,转移给我们代码之外的容器进行,也就是说让容器进行对象的创建,属性的赋值,还有对象关系的处理。
IOC的核心技术
- 依赖注入(DI,dependency injection)
依赖:如果 A extend B 那么 B是A的依赖,也就是说如果B消失,那么A就不能依赖B。
依赖注入:程序代码不做定位查询,而是交给容器自行完成。DI 是指程序运行过程中,若需要调用另一个对象协助时,无须在代码中创建被调用者,而是依赖于外部容器,由外部容器创建后传递给程序。
Bean
Bean是在Spring中的配置文件的标签,是用来创建Java对象,管理Java对象的
首先我们知道bean是用来创建java对象的,Bean有两个属性id为我们创建对象的对象名称,class为全限定类名。
程序执行时会获取到Spring的配置文件,在配置文件中bean会创建对象,将对象存储到容器中,Spring底层会通过Map将对象存储到容器中map.put(key,value),第一个参数传入对象的名称,第二个传入对象,
例如:Studen st = new Student();
map.put("st",new Student());
将对象放在容器中(ApplicationContext)
当我们使用时我们通过ApplicationContext容器来获取配置文件中的对象
Application ac = new ClassPathXMLApplicationContext("配置文件");
这是我们可以通过容器的对象来获取存放在容器中的对象,
Student st = (Student)ac.getBeans();
st即为我们在容器中存放的对象,通过对象可以调用类中的方法。
浙公网安备 33010602011771号