• Spring总结> 第一结 概述


    1、Spring是啥?


      Spring是一个分层的JavaSE/EE full-stack(一站式)轻量级开源框架。

      背景:Spring于2003年6月首次在Apache2.0许可下发布,Spring是由Rod Johnson开发;

      目的:使JavaEE程序易用和促进好的编程习惯解决企业开发的复杂性;

      功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能;

      范围:任何Java应用;

      概述:Spring框架是一个轻量级的解决方案,可以一站式的构建企业级应用;Spring是模块化的所以可以直接使用其中需要的部分;可以在任何Web框架上使用控制反转(IoC),也可以只使用Hibernate集成代码的JDBC抽象层;Spring框架支持声明式事务管理,通过RMI或web服务实现远程访问,以及用于保存数据的各种选项。它提供了一个全面的MVC框架,可以透明的将AOP集成到软件当中;

      Spring被设计为非侵入式的,这意味着你的域逻辑代码通常不会依赖于框架本身;在集成层(比如数据访问层),会存在对数据访问技术和Spring库的一些依赖,但是这些依赖可以很容易的从代码库中分离出来;

      学习笔记:

        1)、Spring就像一个大容器,它的出现不是为了取代某一个框架,而是为了整合目前已有的框架;

        2)、Spring的核心思想为DI(依赖注入)和AOP(面向切面编程);

     

    2、Spring能干啥?


      Spring为开发Java应用程序提供全面的基础架构支持,并且它很好的处理了这些基础设施;

      Spring可以使用POJO创建应用,并且可以将企业服务非入侵式的应用到POJO;这项功能适用于Java SE编程模型以及全部的或部分的Java EE;

      Spring解决的是业务逻辑层与各层之间的松耦合问题,它将面向接口的编程思想贯穿整个系统应用;

      Spring致力于提供一种方法管理你的业务对象,这是当前许多流行框架没有涉及的领域;

      Spring有分层体系机构,这就意味着你能选择使用它孤立任何部分;例如:你可以仅使用它管理所有的业务对象;

      Spring是用于测试驱动工程理想的框架,它的设计从底部帮助你编写易于测试的代码;

      Spring致力于J2EE应用的各层解决方案,而不是仅仅专注于某一层的解决方案;

      ……

    3、为啥用Spring


      3.1、容器

      Spring包含和管理应用对象的配置和生命周期,在这个意义上它是一个容器;

      3.2、框架

      Spring可以将简单的组件配置、组合成为复杂的应用;Spring的作用是整合,但不仅仅限于整合,可以看做是一个企业解决方案级别的框架;

      3.3、低入侵

      Spring被设计成非入侵式的,这意味着逻辑代码通常不依赖框架本身;

      3.4、轻量级

      在大小和开销方面Spring都属于轻量级的,完整的Spring框架可以在一个大小为1MB多的Jar中发布;

      3.5、控制反转

      Spring通过控制反转(IoC)这种设计思想促进了系统应用的低耦合;对象之间的依赖不需要程序员手动实例和管理,Spring容器会为我们实例和管理;

      3.6、面向切面

      Spring提供了丰富的面向切面编程(AOP);Spring中的AOP相当于将系统应用代码横切开来,剖解开封装的对象内部,使程序员在为某一个甚至某一类功能添加指定逻辑功能时可以直接添加,不需要修改系统应用源代码;

      3.7、声明式事务

      Spring中事务通过声明式方式灵活的地进行事务管理,大大提高代码的开发效率以及质量; 

      3.8、面向接口编程

      Spring能通过面向接口编程,减少编程代价介乎为0,有利于程序设计的规范化,大大提高工作效率;

      3.9、Write Once,Run Anywhere(一次编写,到处运行) 

      独立于各种应用服务器,基于Spring框架的应用可以真正实现Write Once,Run Anywhere的承诺;

      ……


      在此声明以上内容参考以下网站整合:

      Spring 百度百科:https://baike.baidu.com/item/spring/85061

      Spring框架 百度百科:https://baike.baidu.com/item/spring%E6%A1%86%E6%9E%B6

      Spring 官方网站:https://spring.io

  • 相关阅读:
    log4j日志配置
    map和java对象的转换方法
    阿里巴巴的json使用时的一些转换方法
    HttpClient发送Post和Get请求
    IT网站导航
    python学习
    git解决冲突
    协程
    Python实现协程
    异步任务神器 和定时任务Celery
  • 原文地址:https://www.cnblogs.com/duniang/p/8352438.html
Copyright © 2020-2023  润新知