搜索
房产
装修
汽车
婚嫁
健康
理财
旅游
美食
跳蚤
二手房
租房
招聘
二手车
教育
茶座
我要买房
买东西
装修家居
交友
职场
生活
网购
亲子
情感
龙城车友
找美食
谈婚论嫁
美女
兴趣
八卦
宠物
手机

Spring(一)开篇

[复制链接]
查看: 74|回复: 0

1万

主题

1万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
32679
发表于 2020-1-15 01:11 | 显示全部楼层 |阅读模式
目录
            
    1、Spring 先容

在早期 J2EE 时代,开辟一个利用步伐很是烦琐,先不说工具的建立及治理,如此外数据库拜候、供给 Web 办事等都需泯灭我们大量时候。那时一位名为 Rod Johnson 的澳大利亚人率先对这类 J2EE 系统框架臃肿、低效的各种现状提出了质疑,以后 Rod Johnson 编写《Expert one on one J2EE design and development》一书,经过书中论述的部分理念和原型建立了Spring Framework 。(PS:Rod Johnson 居然是音乐学博士???)
Spring Framework 是一个轻量级的 Java开源框架,重如果为了治理企业利用开辟的复杂性而建立。它的焦点是帮助我们治理工具及其依靠关系,但还供给像通用日志记录、性能统计、平安控制、很是处置赏罚等面向切面的本事,还集成了大量的第三方框架,如数据库拜候框架 Hibernate ,mybatis、Web 办事框架 Struts 、本身供给的SpringMVC,另有使命调节、Redis 缓存,Mq等。
Spring Framework 还努力于 J2EE 利用的各层治理计划,在表示层、营业层及持久层都集成了响应的功用框架,可以说 Spring 是企业利用开辟的“一站式”治理计划。
但实在 J2EE 和 Spring 并差池立,Spring 是 J2EE 的补充,它将 J2EE 的各个标准集成在一路:
可以说 Spring 是“鉴戒了”他山之石,来渐渐实现本身的生态系统。
2、Spring 框架的演变

Spring 第一个版本于2002年10月公布,至今十几年间, Spring 框架的焦点功用、社区支持等各方面都成长迅猛,所以有必要回首一下Spring 每个里程碑版本所带来的严重特征。

  • Spring 0.9:这是该框架第一个公然公布的版本,以《Expert One-on-One: J2EE Design and Development》一书为底子,供给了 bean 设备底子、AOP 支持、JDBC 笼统框架、笼统事务支持等。该版本没有官方参考文档,但可以在SourceForge 上找到现有的源代码和文档。
  • Spring 1.x:这是公布的第一个带有官方参考文档的版本。由七个模块组成。

    • Spring Core、Spring Context、Spring DAO、Spring ORM、Spring AOP、Spring Web、Spring Web MVC

  • Spring 2.x:该版本由六个模块组成,Spring Context 模块融入了 Spring Core 中,Spring Web MVC 融入了 Spring Web 中。

    • 支持 AOP 开辟的 @AspectJ 注解。
    • 完全支持异步JMS 消息驱动的POJO。
    • 为调节使命而引入的 TaskExecutor 笼统。
    • Java 5 注解支持,特别是 @Transactional、@Required 和 @AspectJ。

  • Spring 2.5.x:该版本包含以下功用。

    • 新增 @Autowired 注解以及对 JSR-250 注解(@Resource、@PostConstruct 和 @PreDestroy)的支持。
    • 新增注册 Bean 的相关注解:@Component、 @Repository、@Service 和 @Controller。
    • 除了Spring MVC @Controller 注解,还增加了 @RequestMapping、@RequestParam 和@ModelAttribute 注解,从而支持经过注解设备举行请求处置赏罚。

  • Spring 3.0.x:这是基于Java 5 的 Spring 第一个版本,旨在充实操纵 Java5 的功用,如泛型、可变参数。

    • 支持 Java5 功用,例如泛型、可变参数。
    • 周全支持 REST。
    • 新的 MVC XML 称号空间和其他注解,例如 SpringMVC 中的 @CookieValue 和 @RequessHeaders。
    • 考证增强功用和 JSR-303 (Bean 考证)支持。

  • Spring 3.2.x:该版本包含以下功用。

    • 支持基于 Servlet 3.0 的异步请求处置赏罚。
    • 新的 SpringMVC 注解 @ControllerAdvice。

  • Spring 4.x:这是一个严重的 Spring 版本,也是第一个完全支持 Java 8 的版本。固然仍然可以操纵较旧的版本,但弃用的类和方式己被删除。

    • 周全支持 Hibernate ORM 5.0 。
    • JMS 和 Web 改良。
    • 对 WebSocket 消息传递的改良。
    • 引入了AopTestUtils 适用工具类,答应拜候 Spring 代理的底层工具。

  • Spring 5.x:这是一个重要版本,全部框架都基于Java 8。

    • 充实操纵Java 8 的强大功用,从而在性能上获得极大的改良。
    • 支持 JMS2.0+ 和 JPA 2.1+。
    • 引入了 Spring Web Flux,这是一个用于更换 SpringMVC 的项目,构建在反应式底子之上,完尽是异步和非阻塞的。
    • Web 和焦点模块适用于反应式编程模子。

3、Spring 团体架构

到了 Spring 5.0 时代,其模块大约有 20 个,如图:
Spring(一)开篇  热点新闻 006tNbRwgy1gawfgml8csj30y60n8q6z

这些模块被总结为以下几部分。
Core Container

Core Container(焦点容器)包含 Core 、Beans 、Context 和 Expression Language 四个模块。

  • Core 模决重要包含 Spring 框架的焦点工具类,是其他组件的底子焦点。如静态代理相关的 asm、cglib,以及各类 Utils,StringUtils、CollectionUtils。
  • Beans 模块包含拜候设备文件、建立和治理 bean 以及举行 IoC/DI 操纵相关的全数类。如:BeanFactory、BeanDefinitions 等。
  • Context 模块构建于 Core 和Beans 模块底子之上,其继续了 Beans 的特征,为Spring 焦点供给了大量扩大。ApplicationContext 接口是 Context 模块的焦点。
  • Expression Language 模块供给了强大的表达式说话。就是在太古 JSP 期间操纵的 EL 表达式。
Data Access/Integration

Data Access/Integration 包含 JDBC 、ORM 、OXM、JMS 和 Transaction 模块。

  • JDBC 模块供给了一个JDBC 笼统层,用来适配全数的数据库厂商。这个模块包含了 Spring 对 JDBC 数据拜候举行封装的全数类。
  • ORM 模块供给了几种常用的工具关系映照框架,如 JPA 、Hibernate 、iBatis 。
  • OXM 模块供给了一个对ObjecνXML 映照实现的笼统层。
  • JMS (Java Messaging Service)模块重要包含一些生产和消耗消息的特征。
  • Transaction 模块支持编程和声明性的事务治理。
Web

Web 层包含了Web 、Servlet 、WebSocket、Porlet 模块。

  • Web 模块:供给了底子的面向Web 的集成特征。例如,多文件上传。
  • Servlet 模块:该模块包含Spring 的model-view-controller (MVC)实现。
  • WebSocket 模块:供给 WebSocket 协议支持。
  • Porlet 模块:供给了用于 Portlet 情况和 Servlet 模块的 MVC 的实现
AOP

AOP 模块供给了一个合适 AOP 同盟标准的面向切面编程实现,它让你可以界说例如方式阻挡器和切点,从而将逻辑代码分隔,低落它们之间的耦合性。

  • Aspects 模块供给了对AspectJ 的集成支持。
  • Instrumentation 模块供给了class instrumentation 支持和classloader 实现,使得可以在特定的利用办事器上操纵。
  • Messaging 模块:抵消息通讯集成供给了普遍的支持,及供给简化 JMS API 的操纵到异步吸收消息的完整底子结构。
Test

Test 模块支持操纵 JUnit 和TestNG 对 Spring 组件举行测试。
末端

Spring 背景及架构就先容到这,接下来将对 Spring 焦点容器、AOP、事务这三部份内容展开一系列的会商。
注:该系列文章操纵的 Spring 版本是 5.0+。




以上就是本章内容,假如文章中有毛病大要必要补充的请实时提出,本人感激涕零。
参考:
《Spring 源码深度分解(第二版)》
《Spring5 高级编程》
《SpringBoot 编程脑筋》
https://baike.baidu.com/item/spring/85061#2
https://docs.spring.io/spring/docs/5.2.2.RELEASE/spring-framework-reference/overview.html#overview

免责声明:假如加害了您的权益,请联系站长,我们会实时删除侵权内容,感谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2006-2014 全椒百姓网-全椒知名**,发布及时新鲜的全椒新闻资讯 生活信息 版权所有 法律顾问:高律师 客服电话:0791-88289918
技术支持:迪恩网络科技公司  Powered by Discuz! X3.2
快速回复 返回顶部 返回列表