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既是一个容器也是一个框架
◆容器——Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。
◆框架——Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。
分享到:
相关推荐
本项目示例基于spring boot 最新版本(2.1.9)实现,Spring Boot、Spring Cloud 学习示例,将持续更新…… 在基于Spring Boot、Spring Cloud 分布微服务开发过程中,根据实际项目环境,需要选择、集成符合项目...
springboot学习笔记 spring基础 Spring概述 Spring的简史 xml配置 注解配置 java配置 Spring概述 Spring的模块 核心容器CoreContainer Spring-Core Spring-Beans ...
从Spring概述--依赖注入--JDBC、事务支持,Bean管理--AOP--Spring MVC1--Sprng MVC2;以及一个新闻发布系统例子。
01.硅谷学习_SpringCloud_前提概述 02.硅谷学习_SpringCloud_大纲概览 03.硅谷学习_SpringCloud_从面试题开始 04.硅谷学习_SpringCloud_微服务是什么 05.硅谷学习_SpringCloud_微服务是什么2 06.硅谷学习_...
Spring源码学习一:源码分析概述1
对spring的细致概述 以及spring事务配置
======================================================================== <br>第1篇 概述 第1章 Spring概述 第2章 快速入门 第2篇 Spring核心技术 第3章 IoC容器概述 第4章 在IoC容器中...
概述介绍Spring Boot具有很多不可思议的功能。 用它开发应用程序很有趣。 通过Spring Boot,可以轻松地创建独立的,基于生产级别的基于Spring的应用程序,您可以“运行”它们。 大多数Spring Boot应用程序只需要很少...
关于Spring的两本书,学习价值高,希望能给大家带来帮助
集合概述 (*Iterables/Iterators) 列表 地图 继承与多态 封装 就业服务: 第 4 周 依赖注入/Spring 测试双打 (Mockito)* 例外 使用 Gradle* 构建自动化 就业服务: 第 5 周 弹簧靴 HTML MVC 职业服务:与杰里米·...
我们首先概述了重要的Spring Boot功能,您将学习为RESTful服务创建Web应用程序。 通过学习有关自定义路由和资产路径以及如何修改路由模式的知识,来学习如何微调Web应用程序的行为。 解决复杂企业应用程序的需求,...
从2003 年1 月起,Spring 落户于SourceForge。现在有20 位开发者,一些主要人员把 所有的时间都花在了Spring 的开发和支持上。繁荣的开源社区帮助它茁壮成长,这远非任 何个人所及。 Spring 架构上的好处 ...
概述 满足命令查询职责隔离(CQRS)模式实现的两个应用程序。 简单的CQRS CQRS代表命令查询责任隔离。 它是一种设计模式,用于强制将修改应用程序状态的操作与使应用程序状态保持完整的操作分开。 引用:“对象被...
Spring Data JPA 是 Spring 基于 ORM 框架、JPA 规范的基础上封 装的一套 JPA 应用框架,可使开发者用极简的代码即可实现对数据库 的访问和操作。...学习并使用 Spring Data JPA 可以极大提高开发效率!
春云学习目录微服务架构概述什么事微服务微服务架构是一种架构模式,它提倡将单一应用程序划分成一个单独的服务,服务之间相互协调,互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务简采用...
这个学习资料可以帮助大家对ssh有更好的理解
本文是介绍Spring-data-jpa的PPT的学习笔记,整理了Spring Data JPA相关知识配置和实践源码. 本文介绍知识点有: JPA与Spring的相关配置 JPA 方法名常用查询 JPA 使用@Query注解实现JPQL和本地自定义查询 JPA API 条件...
介绍spring的部分内容,分别从 入门与概述、IOC、AOP与事务处理 这3个方面进行学习。
第1章 ORM概述[了解] ORM(Object-Relational Mapping) 表示对象关系映射。在面向对象的软件开发中,通过ORM,就可以把对象映射到关系型数据库中。只要有一套程序能够做到建立对象与数据库的关联,操作对象就可以...
在本课程中,您将学习有关Spring Boot和Spring Boot Starter项目的有趣知识。 我们将发展 一个用于管理待办事项的Web应用程序 基本的REST服务,用于管理调查问题 您将通过90多个步骤逐步了解Spring Boot。 这门课程...