Spring 理论基础知识点储备

前言:

本块文章会通过连载的方式来深入了解和学习Spring相关核心技术和实现原理。包括SpringBean生命周期管理,声明性事务管理,AOP管理,注解应用实现,以及在其上面进行扩展的相关应用进行介绍。

本篇技术文章将作为Spring入门篇。

什么是Spring开发框架?

Spring 是一个基于Java/JavaEE的应用开发平台。其实现是由作者Rod Johnson2002年出版《Expert One-on-One J2EE Design and Development》一书后,总结经验后,研发而成。
Spring的核心内容包括:
1. 轻量级的容器, 提供集中式,自动配置与装配应用业务对象功能。

Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用POJO对象管理的 Inversion of Control(控制反转)容器,提供非侵入的方式为当前一些复杂的系统应用提供松耦合,一致性的业务对象配置管理。容器以快捷开发为出发点,方便开发中的可测试性和部署时的可扩展性为目的。实现只针对单个业务组件在独立环境的下进行开发与测试,在部署时再集成到任意的Java SEJava EE环境中。

2. 提供了唯一的事务管理抽象,基于插件式的事务管理(声明性事务管理)能够很容易的实现事务层管理,而无需了解各种底层事务实现,例如JTA或者 JDBC事务提供一个一致的编程模型。相对于只依赖Java EE环境的普通的JTAEJB CMT方式, Spring就更简单轻便了。

3. 提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率(大大减少了开发的代码量)并且减少了可能的错误。基于JDBC的异常信息也是完全遵循Spring的公共DAO异常层级。

4. Spring的数据访问层集成了Toplink, Hibernate, JDO, and iBATIS SQL Maps O/R mapping解决方案,其目的是提供统一的DAO支持类实现和事务管理策略。尤其HibernateSpringIOC特性的支持,能更好的实现集成,以更好的利用Spring的公共事务与DAO异常层级。

5. Spring提供了一个用标准Java编写的AOP框架(也能集成AspectJ),提供基于POJOs的声明式的事务管理和其他企业事务--如果你需要还能实现你自己的aspects这个框架足够强大,使得应用程序能够抛开EJB的复杂性,同时享受着和传统EJB相关的关键服务。当然也可以选择不支持 JTA方式的开发,尤其如不支持JTATomcat服务器下开发单数据库应用。

6. 提供可以与IoC容器集成的强大而灵活的MVC Web框架. 其本身通过提供策略接口与多视图支持技术(JSP, Velocity模块引擎, Tiles, iTextPOI)实现框架的高可配置性。 Spring作为中间层也可以很容易的与其它第三方web MVC框架实现集成,如Struts,WebWork,Struct2(StrutsWebWork的集成)Tapestry.



你可能感兴趣的:(spring,理论概念)