zoukankan      html  css  js  c++  java
  • 1.1 Spring概述

        Spring是分层的Java SE/EE应用一站式的轻量开源框架,以 反转控制(Inverse of Control,IoC)、面向切面编程(Aspect Oriented Programming,AOP)为内核,提供了展现层Spring MVC、持久层Spring JDBC以及业务层事务管理等众多的企业级应用技术。此外。Spring整合了众多著名第三方框架和类库。

    1、发展史--Rod Johnson
    • Spring的框架首次在2003年6月的Apache 2.0的使用许可中公布;
    • 第一个具有里程碑意义的版本号是2004年3月公布的1.0;
    • 2004年9月和2005年3月先后又有重要的版本号面世。
    • Spring Framework 首个版本号是在 2004 年公布的,其后包括几个重大版本号改进。Spring 2.0 提供了 XML 命名空间和 AspectJ 支持;Spring 2.5 包括注解驱动的配置;Spring 3.0 引入加强的 Java 5+ 基础和 @configuration 模型。

    • 而 Spring 4.0 是最新的主要版本号,这是首个全然支持 Java 8 特性的框架,该版本号最低要求 Java SE 6 的支持。

      删除了废弃的方法和类。


    2、长处

    1. 方便解耦,简化开发;
    2. AOP编程的支持;
    3. 声明式事物的支持;
    4. 方便程序測试。
    5. 方便集成各种优秀框架。
    6. 减少Java EE API使用难度。
    7. 源代码设计精妙、结构清晰,Java技术的最佳时间范例。


    3、Spring 4.0 体系结构图:

    可对照旧体系结构,例如以下:

    4、Spring 4.0的新特性:
    • Java 8诸多特性的支持;
    • 使用Groovy DSL定义外部的Bean配置,这类似于XML Bean声明。可是语法更为简洁。使用Groovy还可以在启动代码中直接嵌入Bean的声明。
    • 核心容器功能的改进(支持泛型依赖注入;使用meta-annoation方式定义Annotation时, 该Annotation可以訪问源Annotation的部分属性,以更加方便的定制自己想要的Annotation;Bean依赖注入到Map和List。Array中, 即提供了一种方式获取到某个类型的全部Bean,当注入到Map中时, Key为Bean的名字,value为Bean实例。

    • Web开发改进(添加了@RestController annotation、AsyncRestTemplate类;Spring4.0基于Servlet3.0+版本号开发;为Spring MVC应用添加了Timezone的支持,能够在RequestContext获取,设置TimeZone信息。Spring还提供Datetime的转换功能;提供了 WebSocket, SockJS, and STOMP Messaging的支持;支持STOMP Message协议)
    • 測试框架改进 (差点儿全部spring-test模块下的annotation都能够做元annoation, 开发人员就能够更方便得定制自己的annotation,以增强代码表现力和降低多个Test之间的反复代码。添加了一种更灵活的ActiveProfiles的决定方式;加入了SocketUtils类帮忙扫描本地机器上的可用Socketport;org.springframework.mock.web包下的Mock类都与Servlet 3.0兼容了;删除了全部废弃的方法和类)
    • 參考:http://ningandjiao.iteye.com/blog/1993481

    5、结构阐述
    IoC
    将类和类之间的依赖从代码中脱离,用配置的方式进行依赖关系描写叙述,由IOC容器负责依赖类之间的创建、拼接、管理、获取等。



  • 相关阅读:
    c++赋值构造函数为什么返回引用类型?
    Problem B. Full Binary Tree
    编译器初始化全局变量,并分配虚拟内存
    Winter Storm Warning
    test
    雨崩徒步游记--三月的梅里雪山
    更高效的MergeSort--稍微优化
    malloc 实现原理
    2015-10-19 [有道]--研发工程师--1~3面
    2015-10-11 [滴滴]--研发工程师--1~4面
  • 原文地址:https://www.cnblogs.com/claireyuancy/p/7120171.html
Copyright © 2011-2022 走看看