spring学习笔记(架构和工作原理)

spring框架的简介

 是一种无侵入性的设计,采用loc控制反转,减少代码对spring的依赖性。

spring将管理的bean作为pojo进行控制,通过aop能够增加其他的功能,它为我们提供了一种思想(IOC和AOP)。

容器是spring的核心,而spring又是基于IOC的一种容器。

 

 spring架构中的核心思想:1.针对接口编程2.使用了依赖注入

 

为什么要使用IOC?

  传统的注入采用new对象的方式,比如:

class A{

  A a=new A ();

}

 class B{

 B b=new B();

}

.....

这样的new对象带来的是,在对象创建实例时要依赖自身或者依赖于其他对象的构建。

 而我们使用IOC容器,可以不必关心组件的创建,将对象的创建交给第三方(IOC容器)来完成,减少类之间的耦合度,

易于测试和维护。

 

IOC的实现类型包括:

1.接口注入,通常做法是将接口的调用者和实现者分离。

2.设值注入(set())

3.构造器注入

spring中的IOC容器支持2,3中。

 

ioc的作用:主要是协调各组件间相互的依赖关系,同时提高了组件的可移植性。

spring所有的模块都建立在核心容器上面:

1.核心容器(其中beanfacorty,是所有基于spring框架系统的核心)

2.application context

3.aop模块(通过配置管理特性,springAOP模块将面向方面的编程能集成进来)

4.jdbc模块以及dao模块

5.o/r映射模块

6.spirng的web模块

7.spring的mvc框架

 

工作原理:

1.首先会读取配置文件到容器中。

2.通过java反射机制将配置文件中描述的对象转换成java对象;

3.将这些java对象按照配置文件中的定义将他们注入到各自匹配的对象中去。

 

springIOC 容器主要为:

1.beanfactory

2.applicationContext(继承beanfacoty)

 

区别:两者读取配置文件时对象时候的方式不一样beanfactoy采用延迟加载,而applicaitionContext是采用即时加载

applicationcontext提供更多的功能:

 

1.i18n(提供国际化的支持)

2.访问不同资源的resource类

3.Publish Event(支持发布事件)

 

你可能感兴趣的:(spring,AOP,工作,配置管理,IOC)