关于Spring简单的介绍

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34342083/article/details/53647426

Spring概述

一,什么是spring?

1.      Spring是最受欢迎的企业级JAVA应用程序开发框架。

2.      Spring是一个开源的JAVA平台,2003年6月首次在Apache 2·0许可下发布。

二,spring框架的特点?

Spring是轻量级的,核心特性可用于开发任何JAVA应用程序。但是在JAVA EE 平台上构建Web应用程序是需要扩展的。Spring框架的目标是使J2EE开发变得更容易使用,通过启用基于POJO(简单的对象)编程模型来促进良好的编程实践。

三,使用Spring框架的好处?

1.      Spring可以使开发人员使用POJOs开发企业级的应用程序。只使用POJOs的好处是你不需要一个EJB容器产品,比如一个应用程序服务器,但是你可以选择使用一个健壮的servlet容器,比如Tomcat或者一些商业产品。

2.      Spring在一个单元模式中是有组织的,即使包和类的数量非常大,你必须并且只需要你需要的,而忽略剩余的那部分。

3.      Spring不会让你白费力气坐重复工作,它真正的利用了一些现有的技术,像几个ORM框架,日志框架,JEE,Quartz和JDK计时器,其他视图技术。

4.      测试一个用Spring编写的应用程序很容易,因为environment-dependent代码被放进了这个框架中。此外,通过使用JavaBean-style POJOs,它在使用依赖注入测试数据时变得更容易。

5.      Spring的web框架是一个设计良好的webMVC框架,它为web框架,比如Structs或者其他工程上的很少受欢迎的web框架,提供了一个很好的供替代的选择。

6.      未将特定技术的异常(例如,由JDBC,Hibernate,或者JDO抛出的异常)翻译成一致的,Spring提供了一个方便的API,而这些都是未经检验的异常。

7.      轻量级的IOC容器往往是轻量级的,例如,特别是当与EJB容器相比的时候,这有利于在内存和CPU资源有限的计算机开发和部署应用程序。

8.      Spring提供了一个一致的事务管理界面,该界面可以缩小成一个本地事物(例如,使用一个单一的数据库)和扩展成一个全局事务(例如,使用JTA)

第一章   依赖注入(DI)

一,什么是依赖注入?

1.Spring最认同的技术是控制反转的依赖注入(DI)模式。控制反转(IOC)是一个通用的概念,它可以用许多不同的方式去表达,依赖注入仅仅是控制反转的一个具体的例子。

2.我们可以将“依赖注入”这两个词分开来看一看,这里将依赖关系部分转化为两个类之间的关联。例如,类A依赖于类B。注入,所有这一切都意味这类B将通过IOC被注入到类A中。(注:依赖注入是Spring框架的核心部分)

二,依赖注入的方式?

1.      可以以向构造函数传替参数的方式发生。

2.      通过使用setter方法post-construction

三,依赖注入的作用?

当边写一个复杂的Java应用程序时,应用程序类应该尽可能的独立于其他的Java类来增加这些类可重用额可能性,当进行单元测试时,可以使它们独立于其他类进行测试。依赖注入(有时被称为配线)有助于将这些类粘合在一起,并且同一时间让它们保持独立。

四,面向方面的程序设计(AOP)

Spring框架的一个关键组件是面向方面的程序设计(AOP) 框架。

一个程序中跨越多个点的功能被称为横切关注点, 这些横切关注点在概念上独立于应用程序的业务逻辑。有各种各样常见的很好的关于方面的例子,比如日志记录,声明性事物,安全性,和缓存等等。

 

在OOP中模块化的关键单元是类,而在AOP中模块化的关键单元是方面。AOP帮助你将横切关注点从它们所影响的对象中分离出来,然后依赖注入帮助你将你的应用程序对象从彼此中分离出来。

 

一,AOP的作用?

1.      Spring框架的AOP模块提供了面向方面的程序实现。

2.      允许你定义拦截器方法和切入点。

3.      可以实现将应该被分开的代码干净的分开功能。

第二章   体系结构

   Spring有可能称为所有企业应用程序的一站式服务点,然而,Spring是模块化的,允许你挑选和选择适用于你的模块,不必要吧剩余部分也引入。

Spring框架提供了约20个模块,如下图

这些模块可以根据应用程序的要求来使用。

单词解释: core 核心 container 容器 SpEL表达式语言 context上下文

一,什么是核心容器?

核心容器由核心,Bean,上下文和表达式语言模块组成。

1.      核心模块提供了框架的基本组成部分,包括IOC和依赖注入功能

2.      Bean 模块提供BeanFactory,它是一个工厂模式的复杂实现。

3.      上下文模块建立在由Bean模块提供的坚实基础上,它是访问定义和配置的任何对象的媒介。ApplicationContext接口是上下文模块的重点。

4.      表达式语言模块在运行时提供了查询和操作一个对象图的强大的表达式语言。

   二,什么是数据访问/集成?

       数据访问集成层包括了JDBC,ORM,OXM,JMS和事务处理模块

1.      JDBC 模块提供了删除冗余的JDBC相关编码的JDBC抽象层。

2.      ORM模块为流行的对象关系映射API,包括JPA,JDO,Hibernate和iBatis提供了集成层。

3.      OXM模块提供了抽象层,它支持JAXB,Castor,XMLBeans,JiBX和XStream的对象/XML映射实现。

4.      Java消息服务JMS模块包含生产和消费的消息的功能。

5.      事务模块为实现特殊接口的类及所有的POJO支持编程式和声明式事务管理。

四,什么是Spring的Web层?

Web层由Web,Web-MVC,Web-Socket和Web-Portlet组成。

1.      Web模块提供了基本的面向web的集成功能,例如多个文件上传的功能和使用servlet监听器和面向web应用程序的上下文来初始化IOC容器。

2.      Web-MVC模块包含Spring的模型-视图-控制器(MVC),实现了web应用程序。

3.      Web-Socket模块为WebSocket-based提供了支持,而且在web应用程序中提供了客户端和服务器端之间通信的两种方式。

4.      Web-Portlet模块提供了在portlet环境中实现MVC,并且反映了Web-Servlet模块的功能。

五,Spring框架还有其他哪些模块?

AOP,Aspects,Instrumentation,Web和测试模块。

1.      AOP模块提供了面向方向的编程实现,允许你定义方法拦截器和切入点对代码进行干净的解耦,它实现了应该分离的功能。

2.      Aspects模块提供了与AspectJ的集成,这是一个功能强大且成熟的面向切面编程(AOP)框架。

3.      Instrumentation模块在一定的应用服务器中提供了类instrumentation的支持和类加载器的实现。

4.      Messaging模块为STOMP提供了支持作为在应用程序中WebSocket子协议的使用。它也支持一个注解编程模型,它是为了选路和处理来自WebSocket客户端的STOMP信息。

5.      测试模块支持对具有JUnit或TestNG框架的Spring组件的测试。

六,Spring’框架包括哪几大类模块?

核心容器,数据访问/集成,Web等。


七,spring的小结?

spring的核心是IOC容器,用户可以用Setter或Constructor(构造器)的方式来实现自己的业务对象。至于对象与对象之间的关系建立,则通过组态设定,让spring在执行时根据组态的设定来建立对象之间的依赖关系。

展开阅读全文

没有更多推荐了,返回首页