深入学习Spring-框架速览
Spring是一个一站式的J2EE开发框架,提供了J2EE开发的所有功能 ,Spring的设计的初衷就是解决现有框架的高侵入式式问题,用Spring开发时,
很多功能不需要依赖spring的接口和实现,与框架的耦合度大大降低。Spring主要包括以下几个模块:
1 Spring Core:该模块是经典的IOC思想的实现,是spring最基础的框架,主要是通过BeanFactory和java的反射来实现,factory bean对象的创建
是通过工厂模式实现的,解除了单列对代码的依赖,而对象间的关系主要是通过java bean的setter来注入的,实现了依赖关系的良好解耦,我们只需要
面向接口编程,通过配置,spring为我们注入具体的实现。
2 Spring context:改模块是对spring core的封装和扩展,在beanFactry的基础上增加了资源管理、事件发布、RMI 、EJB等支持,我们编程时主要
是面向该模块编程。
3 Spring AOP:Spring对AOP提供了良好的支持,Spring的AOP主要是通过拦截器来实现,而拦截器主要采用动态代理实现,如果我们要代理的对象
实现了某个接口,spring将会用JDK的Proxy实现代理,否则spring采用CGLLIB实现代理。通过简单的配置就能实现AOP。
4 Spring DAO:提供了对数据库操作和数据库异常的封装,通过template模式提供一致的CRUD接口,并且支持透明化的事物处理,我们只需要实现自己的
业务逻辑,数据库连接池、事物等交由spring管理。
5 Spring ORM:在DAO模块的基础上提供了对时下流行的ORM框架的支持,包括JDO,hibernate,ibatIS等。
6 Spring Web:提供对web开发的支持 ,主要是通过listener或serverlet实现spring上下文和web上下文的关联,在web开发是可以方便的使用spring容器。
该模块扩展了factory bean的生命周期类型,增加了request、session等类型。
7 Spring MVC:MVC的经典实现,也是对web开发的支持,Spring的MVC实现了更细粒度的分层,性能也比目前的其他MVC框架更优秀。我们可以基于配置或者
基于注解进行MVC的开发,比较灵活。
如下图: