• Spring框架基础知识


    本人博客文章网址:https://www.peretang.com/basic-knowledge-of-spring-framework/


    Spring框架简介

    Spring , 一个开源的框架 , 由Rod Johnson创建. Spring是为了解决企业应用开发的复杂性而创建的 , 可以让简单的JavaBeans/POJO来实现之前只有EJB[1]才能完成的事情. Spring还提供了大量API简化与其他第三方框架的集成. 

    纵览Spring , 你会发现Spring可以解决非常多的问题 , 但归根到底 , 所有Spring提供的API/解决方案的理念都可以追溯到Spring最根本的理念上 "简化Java开发" .

    ▲Spring=简化Java开发

    Spring策略与核心

    Spring为了降低Java开发复杂性的4大关键策略/核心

    1. 基于POJO的轻量级和最低侵入性编程

    2. 通过依赖注入和面向接口实现松耦合

    3. 基于切面和惯例进行声明式编程

    4. 通过切面和模版减少板式代码

    基本所有Spring的API/解决方案都可以追溯到上述的一条或多条策略中. 

    Spring缺点

    虽然Spring能降低复杂性 , 但是当Spring发展到现在4.X , Spring已然是一个很复杂的框架. 

    另Spring的最初目标是一个轻量级的容器框架 , 但是发展到现在Spring4.X也已经是一个重量级框架. 

    最后虽然Spring是最小的侵入性 , 但是它带给了我们最大的依耐性. 

    Spring模块

    Core模块

    spring-core,spring-beans : 框架的最基础模块,其提供了IOC和依赖注入等功能

    spring-context : 提供了一种访问对象的上下文对象

    spring-context-support : 提供了将第三方库集成到上下文中的功能

    spring-expression(SPEL) : 提供了强大的表达式语言支持 , 减少工作量

    AOP模块

    spring-aop : 提供了一个符合AOP规范的面向切面的API实现

    spring-aspects : 提供了与AspectJ的集成

    数据访问集成模块

    spring-jdbc : 提供简化JDBC编程的API

    spring-tx : 提供简化事务管理和编程的API

    spring-orm : 提供简化ORM规范[2]编程的API , 并提供对JPA , Hibernate的支持

    spring-oxm : 提供简化OXM规范[3]编程的API

    spring-jms : 提供简化JMS规范[4]编程的API

    Web模块

    spring-web : 提供简化基本Web功能编程的API

    spring-webmvc,spring-webmvc-portlet : 提供简化MVC[5]和RESTful[6]编程的API

    spring-websocket : 提供简化Websocket编写的API

    测试模块

    spring-test : 提供对单元测试和集成测试支持的组件 , 简化测试用例编程的API

    信息模块

    spring-messaging : 支持消息架构和协议

    设备模块

    spring-instrument : 提供了在某些应用服务器中使用的类检测支持和类加载器实现

    spring-instrument-tomcat : 提供了在Tomcat中使用的类检测支持和类加载器实现

    Spring架构图

    Spring framework overview

    注释

    [1]这里的EJB指的是EJB2.X,因为从EJB3.X规范开始也可以使用POJO来实现EJB规范。

    [2]对象关系映射 , 用来把对象模型表示的对象映射到基于SQL的关系模型数据库结构中去. 

    [3]Object XML Mapping , 数据实体对象与XML节点之间的映射.

    [4]Java消息服务 , JavaEE规范中的一员 , 负责与信息中间件(MOM)进行交互的API. 参考 : JAVAEE规范基础知识

    [5]MVC是一种使用 MVC (Model View Controller 模型-视图-控制器) 设计创建 Web 应用程序的模式. 

    [6]RESTful一种软件架构风格. 

  • 相关阅读:
    黑鲨2无限重启 把竞技按钮调到最上
    绿联 电池
    阿里云
    Centos 8 搭建时钟服务器
    CentOS8系统时间同步解决方法
    解决问题的人干活快的人
    【海通国际】Joe Lowry(Mr. Lithium)谈全球电池原材料供应危机
    Linux 实验楼
    用 set follow-fork-mode child即可。这是一个 gdb 命令,其目的是告诉 gdb 在目标应用调用fork之后接着调试子进程而不是父进程,因为在 Linux 中fork系统调用成功会返回两次,一次在父进程,一次在子进程
    【随笔】阿里云修改DNS
  • 原文地址:https://www.cnblogs.com/peretang/p/basic-knowledge-of-spring-framework.html
Copyright © 2020-2023  润新知