Spring 基本知识
什么是 Spring
Spring 是分层的 JavaSE/EE full-stack 轻量级开源框架,以 IoC(Inverse of Control)
控制反转和 AOP (Aspect Oriented Programming)
面向切面编程为内核,使用基本的 JavaBean 来完成以前只可能由 EJB 完成的工作,取代了 EJB 的臃肿、低效的开发模式。
在实际开发中,通常服务器端采用三层体系架构,分别为表示层(web)、业务逻辑层(service)、持久层(dao)。Spring 对每一层都提供了技术支持。
Spring 框架的优点
· 方便解耦、简化开发
可以将所有对象创建和依赖关系维护交给 Spring 管理。
· AOP 编程的支持
可以方便地实现对程序进行权限拦截、运行监控等功能。
· 声明式事务的支持
只需要通过配置就可以完成对事务的管理,而无需手动编程。
· 方便程序测试
Spring 对 JUnit4 支持,可以通过注解方便地测试 Spring 程序。
· 方便集成各种优秀框架
·降低 JavaEE API 的使用难度
Spring 对 JavaEE 开发中非常难用的一些 API(JDBC、JavaMail、远程调用等)提供了封装。
Spring 的体系结构
Spring 的 4 个基础包分别对应 Spring 核心容器的 4 个模块:
· spring-core-x.x.x RELEASE.jar
它包含 Spring 框架基本的核心工具类,Spring 其他组件都要用到这个包里的类,是其他组件的基本核心。
· spring-beans-x.x.x RELEASE.jar
所有应用都要用到,它包含访问配置文件、创建和管理 bean 以及进行 Inversion Of Control(IoC) 或者 Inversion of Dependency Injection(DI) 操作相关的所有类。
· spring-context-x.x.x RELEASE.jar
Spring 提供在基础 IoC 功能上的扩展服务,此外还提供许多企业级服务的支持,如邮件服务,任务调度、JNDI 定位、EJB 集成、远程访问、缓存以及各种视图层框架的封装等。
· spring-expression-x.x.x RELEASE.jar
它定义了 Spring 的表达式语言。