什么是Spring?Spring框架的优点、Spring的体系结构

什么是Spring?
1.1 Spring概述

1.1.1什么是Spring

Spring是由Rod Johnson组织和开发的一个分层的Java SE/EE full-stack(一站式)轻量级开源框架,它以loC( Inversion of Control,控制反转)和AOP ( Aspect Oriented Programming,面向切面编程)为内核,使用基本的JavaBean来完成以前只可能由EJB( Enterprise Java Beans, Java企业Bean)完成的工作,取代了EJB的臃肿、低效的开发模式。
Spring致力于JavaEE应用各层的解决方案,在表现层它提供了SpringMVC以及与Struts框架的整合功能;在业务逻辑层可以管理事务、记录日志等;在持久层可以整合MyBatis、Hiber-nate、JdbcTemplate 等技术。因此,可以说Spring是企业应用开发很好的“一站式’选择。虽然Spring贯穿于表现层、业务逻辑层和持久层,但它并不想取代那些已有的框架,而是以高度的开放性与它们进行无缝整合。

1.1.2 Spring框架的优点

Spring具有简单、可测试和松耦合等特点,从这个角度出发,Spring 不仅可以用于服务器端开发,也可以应用于任何Java应用的开发中。关于Spring框架优点的总结,具体如下。

.非侵入式设计

Spring是一种非侵入式( non-inva-sive)框架,它可以使应用程序代码对框架的依赖最小化。

.方便解耦、简化开发

Spring就是一个大工厂,可以将所有对象的创建和依赖关系的维护工作都交给Spring容器管理,大大地降低了组件之间的耦合性。

.支持AOP

Spring提供了对AOP的支持,它允许将一些通用任务,如安全、事务、日志等进行集中式处理,从而提高了程序的复用性。

.支持声明式事务处理

只需要通过配置就可以完成对事务的管理,而无须手动编程。

.方便程序的测试

Spring提供了对Junit4的支持,可以通过注解方便地测试Spring程序。.方便集成各种优秀框架。

.方便集成各种优秀框架

Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如Struts、Hibernate 、MyBatis、 Quartz等)的直接支持。

.降低Java EE API的使用难度

Spring对Java EE开发中非常难用的-些API ( 如JDBC、 JavaMail等),都提供了封装,使这些API应用难度大大降低。

1.1.3 Spring的体系结构

Spring框架采用的是分层架构,它一系列的功能要素被分成20个模块,这些模块大体分为Core Container、Data Access/Integration. Web AOP( Aspect Oriented Programming) In-strumentation. Messaging 和 Test,如下图所示:

什么是Spring?Spring框架的优点、Spring的体系结构_第1张图片

在图1-1中,包含了Spring框架的所有模块,其中,灰色背景模块为重要所涉及的主要模块。

你可能感兴趣的:(spring,java,spring,boot,mybatis)