温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何进行Spring的概念分析

发布时间:2021-12-02 16:57:55 来源:亿速云 阅读:103 作者:柒染 栏目:大数据

如何进行Spring的概念分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

1.1  Spirng概述

       Spring的缔造者:Rod Johnson 悉尼大学计算机学士学位,同时还是音乐学博士,也许是音乐的细胞赋予了它程序设计美学的灵感,让他成就了Spring的简约与优雅。

       由艺术美学转变到程序美学,不止有Spring的缔造者,还有前端的三大主流框架之一Vue的缔造者(Evan You),Evan You获得Design & Technology艺术硕士学位,可能正是因为这种追求设计美感的精神,才促进了Vue的诞生。

       2004年3月24日,发布1.0版本。

1.2  关于SpringSource

      Rod Johnson在Spring 1.0发布的时候,就和他的骨干团队成立了SpringSource公司,以Spring的开源框架为依托,成功开展了很多代表不同技术领域的子项目。

       2007年5月,SpringSource吸引Benchmark Capital风险投资商。

2008年,SpringSource收购G2One(Groovy编程语言),Grails Web,Covalent(为Apache的Tomcat应用服务器提供支持的公司)。

      2009年,SpringSource收购了开源系统检测厂商Hyperic。Hyperic的核心产品是Hyperic HQ,该产品提供了硬件和操作系统、虚拟机、数据库及应用服务器的可用性检测。

       2009年8月11日,VMware收购SpringSource公司。

       2012年,Spring 创始人Rod 离开SpringSource和VMware。

       2013年,SpringSource团队发布了Spring Framework 4.0版本。

1.3  Spring 带给我们什么

       EJB的复杂难学习,难于测试,因此易于上手,易于开发,易于测试的框架应运而生,Spring因此就诞生,取其了EJB的精华。

Spring带给我们的好处:

1. 方便解耦,简化开发,提供了IoC容器。

2. AOP编程的支持。

3. 声明式事务的支持。

4. 方便程序的测试。

5. 方便集成各种优秀框架。

6. 降低Java EE API的使用难度。

7. Spring源码是经典的学习案例。

1.4  Spring 体系结构

IoC和AOP是Spring所依赖的根本。主要由以下五个部分组成:

如何进行Spring的概念分析

1. IoC

      Spring核心功能实现IoC的功能,它将类与类之间的依赖从代码中脱离出来,用配置的方式进行依赖关系描述,由IoC容器负责依赖类之间的创建、拼接、管理、获取等工作。

      BeanFactory接口是Spring框架的核心接口;

     Context模块构建于核心模块之上,扩展了BeanFactory的功能;例如,添加了i18n国际化、Bean生命周期控制、框架事件体系、资源加载透明化等多项功能。

      ApplicationContext是Context模块的核心接口。

2. AOP

      AOP是继OOP之后,对编程设计思想影响极大的技术之一。Java 5.0引入java.lang.instrument,允许在JVM启动时启用一个代理类,通过该代理类在运行期修改类的字节码,改变一个类的功能,从而实现AOP的功能。

3. 数据访问与集成 

      Spring站在DAO的抽象层面,建立了一套面向DAO层统一的异常体系,同时将各种访问数据的检查型异常转换为非检查型异常,为整合各种持久层框架提供基础。这样,Spring就建立起了和数据形式及访问技术无关的统一的DAO层,借助AOP技术,Spring提供了声明式事务的功能。

4. Web及远程操作

      该模块建立在Application Context模块之上,提供了Web应用的各种工具类,如通过Listener或Servlet初始化Spring容器,将Spring容器注册到Web容器中。还提供了面向Web功能,例如FreeMarker,Velocity,还可以整合Struts、WebWork等MVC框架。

5. Web及远程访问

    Spring自己提供了一个完整的类似于Struts的MVC框架,称为SpringMVC,如果不希望使用SpringMVC,那么Spring对Struts、WebWork等MVC框架的整合,可以可以带来方便,相对于Servlet的MVC,Spring在简化Portlet的开发上也做了很多工作。

6. WebSocket

      WebSocket提供了一个在Web应用中高效、双向通信,需要考虑到客户端和服务器之间的高频和低时延消息交换,一般有在线交易、游戏、协作、数据可视化等,此外,Spring在远程访问及Web Service上提供了很多著名框架的整合。

1.5  Spring 对Java版本的要求

       Spring4.0 基于 Java 6.0,全面支持Java 8.0。运行Spring 4.0 必须使用Java 6.0以上的版本,推荐使用Java 8.0及以上版本,如果要编译Spring 4.0,则必须使用Java 8.0.

1.6  Spring 4.0新特性

      全面支持Java SE 8 、Java EE 7,而且向下兼容到Java SE 6 / Java EE 6,并移除过时的类,添加如泛型依赖注入、Lambda表达式、Groovy DSL定义Bean、核心容器增强、Web框架增强、WebSocket模块的实现、测试增强等功能,全面支持REST风格的开发。

1.6.1  全面支持Java 8.0

1. Java 8.0 新特性

1)Java 8.0 的 Lambda表达式

2)Java 8.0 的时间与日期API

3)重复注解支持

4)空指针终结者:Optional<>,有些对象永远都不会为空,作非空判断有些多余

1.6.2  核心容器的增强

Spring 4.0支持泛型依赖注入

1. @Autowired

portected BaseDao<M> dao;

2. @Autowired

private Map<String, BaseService> map;

3.  @Lazy 延时注入

4.  @Conditional : 类似于@Profile,一般在多个环境进行配置切换(开发,生产环境)

5.  CGLIB代理类增强:在Spring 4.0中,基于CGLIB的代理类不在要求类必须有空参构造器

1.6.3  支持用Groovy 定义Bean

Groovy有诸多不足,错误提示不友好,学习曲线高

1.6.4  Web的增强

@RestController,方便REST开发,同时添加了一个AsyncRestTemplate,支持REST客户端的异步无阻塞请求

1.6.5  支持WebSocket

双向通信(在线交易,游戏,协作,数据可视化),浏览器IE<10不支持

1.6.6  测试的增强

@Sql @AbstractTransactionalJUnit4SpringContextTests

1.6.7  其他

JCache支持,动态语言支持,多线程并发处理支持,增强持久化处理

看完上述内容,你们掌握如何进行Spring的概念分析的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI