JAVA的三大框架之Spring复习,理解Spring原理,Spring实践案例


前言

今天时大年初一,看到有大佬给我留言说到 “放弃不难,但坚持一定很酷!” 这话我看到深感触动,我认为学习是一种习惯。当然今天我继续更新JAVA的三大框架之一的Spring


一、Spring是什么?

Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。
Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。 Spring的核心是控制反转(IoC)和面向切面(AOP)。

二、Spring体系结构

1.体系结构图

在这里插入图片描述
1、核心容器:核心容器包含spring-core、spring-beans、spring-context、spring-context-support和spring-expression (Spring Expression Language,Spring表达式语音)这些模块。spring-core和spring-beans构成了框架最基础的部分,包括控制反转和依赖注入功能。BeanFactory是工厂模式的一个很成熟的实现。spring-context是基于spring-core和spring-beans构建的,它提供了一种以框架风格来访问对象的方式,类似于JNDI注册。ApplicationContext接口是spring-context的焦点。spring-context-support为集成第三方库(如定时器Quartz)提供支持。spring-expression提供了一种强大的表达式语言,可以在运行时查询和操作对象。
2、面向切面:spring-aop模块提供了一个AOP面向切面编程的实现。比如,允许开发者定义方法拦截器和切入点,以此来将业务逻辑和系统服务进行解耦。
3、消息传送:Spring 4包含了一个spring-messaging模块,它对Spring集成项目Message、MessageChannel和MessageHandler进行了重要的抽象,它是基于消息发送应用的基础。
4、数据访问/集成:数据访问/集成层包含JDBC(spring-jdbc)、ORM(spring-orm)、OXM(spring-oxm)、JMS(spring-jms)和事务(spring-tx)模块。
5、网络层:Web层包含spring-web、spring-webmvc、spring-websocket和spring-webmvc-portlet模块。其中,spring-web提供了面向Web集成的基本特性,比如文件上传功能。Spring-webmvc模块包含了Spring的MVC和REST Web Service实现。Spring-webmvc-portlet模块提供了在Portlet环境下的MVC实现。
6、测试层:Spring-test模块支持Spring组建JUnit和TestNG的单元测试和集成测试。

2.Spring的优点

1. 方便解耦,简化开发 (高内聚低耦合)
Spring就是一个大工厂(容器),可以将所有对象创建和依赖关系维护,交给Spring管理spring工厂是用于生成bean
2. AOP编程的支持
Spring提供面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等功能
3. 声明式事务的支持
只需要通过配置就可以完成对事务的管理,而无需手动编程
方便程序的测试
Spring对Junit4支持,可以通过注解方便的测试Spring程序
4.方便集成各种优秀框架
Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如:Struts、Hibernate、MyBatis、Quartz等)的直接支持
5.降低JavaEE API的使用难度
Spring 对JavaEE开发中非常难用的一些API(JDBC、JavaMail、远程调用等),都提供了封装,使这些API应用难度大大降低

三、图解IOC和DI

在这里插入图片描述

四、Spring框架思维导图

这个思维导图我放在了github上面,有需要的可以去拿,思维导图地址:https://github.com/Ernestsudo/JAVA-Spring.pdf.git


总结

关于Spring的简单介绍就写在这里了,后面我将会对Spring中面向切面编程AOP做简单介绍和一些简单案例,我也都会放在github上面去。Spring框架的大致内容也就这些,也还是多多理解,多练习,Spring还是很简单的。下篇文章我将把代码地址和AOP案例也简单说说。

猜你喜欢

转载自blog.csdn.net/qq_41837249/article/details/113794234