Spring的运行原理

Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。   

◆目的:解决企业应用开发的复杂性  

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

◆范围:任何Java应用   

简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。   

◆轻量——从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。   

◆控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。   

◆面向切面——Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。   

◆容器——Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。   

◆框架——Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。   

所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。

posted on 2019-06-04 10:01 呦呵呵丶 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/sin30/p/10971861.html

Spring的运行原理相关推荐

  1. Java微框架Spring Boot 运行原理深入解读

    本文节选自< JavaEE开发的颠覆者--Spring Boot实战 >一书.本书从Spring 基础.Spring MVC 基础讲起,从而无难度地引入Spring Boot 的学习.涵盖 ...

  2. spring MVC运行原理

    按照上边的执行流程图,我们可以看出一个SpringMVC整体的一个执行轮廓,下面我们具体来分析下 首先服务器接收到一个请求,匹配并调用了我们的前端控制器(DispatcherServlet)也叫中央处 ...

  3. 一步一步手绘Spring MVC运行时序图(Spring MVC原理)

    相关内容: 架构师系列内容:架构师学习笔记(持续更新) 一步一步手绘Spring IOC运行时序图一(Spring 核心容器 IOC初始化过程) 一步一步手绘Spring IOC运行时序图二(基于XM ...

  4. spring 运行原理

    Spring 运行原理: 使用spring已经很久了,最近总结了一下. 首先spring是一个容器,只有在容器里的对象才会有spring所提供的服务和功能. spring最主要有两个核心,一个是IOC ...

  5. Spring Boot注解的运行原理

    Spring Boot 是一个基于 Spring Framework 的开源框架,通过简化配置和开发过程,使 Spring 应用程序的开发变得更加快速和便捷.在 Spring Boot 中,注解是非常 ...

  6. Spring Security技术栈学习笔记(八)Spring Security的基本运行原理与个性化登录实现

    正如你可能知道的两个应用程序的两个主要区域是"认证"和"授权"(或者访问控制).这两个主要区域是Spring Security的两个目标."认证&qu ...

  7. fusion 360安装程序的多个实例正在同时运行。_SpringMVC运行原理

    1. spring mvc简介与运行原理 Spring的模型-视图-控制器(MVC)框架是围绕一个DispatcherServlet来设计的,这个Servlet会把请求分发给各个处理器,并支持可配置的 ...

  8. Java线性池的使用方式以及核心运行原理

    Java线性池的使用方式以及核心运行原理 一.为什么需要线性池? 二.线性池的处理流程 三.线程池的使用(ThreadPoolExecutor) 四.线程池的注意事项 一.为什么需要线性池? java ...

  9. Mybatis运行原理及源码解析

    Mybatis源码解析 一.前言 本文旨在mybatis源码解析,将整个mybatis运行原理讲解清楚,本文代码地址: https://github.com/lchpersonal/mybatis-l ...

  10. Spring MVC工作原理 及注解说明

    转载自  http://blog.csdn.net/shuyeshangdemayi/article/details/50259493 SpringMVC框架介绍 1) Spring MVC属于Spr ...

最新文章

  1. iOS实录15:浅谈iOS Crash
  2. RabbitMQ启动参数具体含义
  3. Flask 数据迁移 报错 Table 'xxx' is already defined for this MetaData instance
  4. C语言的设计模式-接口隔离
  5. PHP+JavaScript+HTML实现注册界面表单及日历控件
  6. 页面传值:属性,协议,Block传值
  7. Spring boot的简单用法
  8. mysql charactersetdatabase_Mysql5.7.22 坑爹的 `character_set_database`
  9. 成品app直播源码,Android自屏幕底部滑出更多面板的实现
  10. 创新设计思维总结报告
  11. 关于机器人方面的sci论文_科学网—2014年SCI收录机器人期刊22种目录 - 万跃华的博文...
  12. PostgreSQL 时区问题
  13. 分布式Zookeeper-基础
  14. C# 学习笔记:委托(5):可变性
  15. 0044-【宏基因组】-16S分析qiime1极简教程
  16. java的println、print与printf
  17. java入门基础掌握单词汇总
  18. ACM入门攻略(紫书入门,不间断更新)
  19. 计算机学猫叫音乐,抖音学猫叫音乐 抖音学猫叫什么歌
  20. 通过Hook API调用打造进程监控程序

热门文章

  1. linux垃圾文件清理,请问 如何linux 垃圾文件清理、
  2. cloopen java_GitHub - cloopen/java-sms-sdk: Yuntongxun SMS SDK for Java
  3. FPGA中的乒乓操作
  4. nginx代理 域名重定向
  5. IDEA使用Maven构建Spring+SpringMVC+MyBatis整合项目demo成功执行但控制台Tomcat Locahost log输出No Spring WebApplicationIn
  6. 部署项目启动提示找不到locahost:8080.....地址问题
  7. 创业路上之谢谢周爱民
  8. LaTeX 插入章节和目录
  9. 深度学习算法优化系列十 | 二值神经网络(Binary Neural Network,BNN)
  10. 深入理解Flash Player的安全域