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(支持发布事件)