Spring 概述及优点
1. Spring是什么
Spring是分层的java SE/EE 应用一站式的轻量级开源框架,以ioc(Inverse of Control,控制反转)和AOP(Aspect Oriented Programming,切面编程)为内核,提供了展现层Spring MVC、持久层Spring JDBC及业务层事物管理等一站式的企业级应用技术。
说它轻量级有一大部分原因是相对与EJB的(虽然本人从没有接触过EJB的应用),重要的是,Spring是非侵入式的,基于spring开发的应用一般不依赖于spring的类。
2.几个需要了解的概念
DI:称作依赖注入(Dependency Injection),和控制反转一个概念,具体的讲,当一个角色需要另外一个角色协助的时候,在传统的程序设计中,通常有调用者来创建被调用者的实例。但是在spring中创建被调用者将不再有调用者完成,因此叫控制反转。创建被调用对象有Spring来完成,在容器实例化对象的时候主动的将被调用者(或者说它的依赖对象)注入给调用对象,因此又叫依赖注入。
AOP:Spring对面向切面编程提供了强有力的支持,通过它让我们将业务逻辑从应用服务(如事务管理)中分离出来,实现了高内聚开发,应用对象只关注业务逻辑,不再负责其它系统问题(如日志、事务等)。Spring支持用户自定义切面。
面向切面编程: 是面向对象编程的有力补充。面向对象编程将程序分成各个层次的对象,面向切面的程序将运行过程分解成各个切面。AOP是从运行程序的角度去考虑程序的结构,提取业务处理过程的切面,OOP是静态的抽象,AOP是动态的抽象,是对应用执行过程的步骤进行抽象,从而获得步骤之间的逻辑划分。
容器:Spring是个容器,因为它包含并且管理应用对象的生命周期和配置。如对象的创建、销毁、回调等。
框架:Spring作为一个框架,提供了一些基础功能,(如事务管理,持久层集成等),使开发人员更专注于开发应用逻辑。
3.Spring的优点
1.方便解隅,简化开发。通过Spring踢动的Ioc容器,用户可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序隅合。有了Spring,用户不必再为单实例模式类,属性文件解析等这些底层的需求编写代码,可以更专注于上层的应用。
2.AOP编程的支持。通过Spring提供的Aop功能,方便进行对面向切向的编程。
3.声明事务的支持。
4.方便程序的测试。可以用非容器依赖的编程方式进行几乎所有的测试工作。
5.方便集成各种优秀的框架。如Hibernate,Struts2,Hession
6.降低 Java EE API的使用难度。
Spring 概述及优点相关推荐
- Spring系列 1.Spring概述及IOP
Spring概述 简介 Spring : 春天 ->给软件行业带来了春天 2002年,Rod Jahnson首次推出了Spring框架雏形interface21框架. 2004年3月24日,Sp ...
- 【Spring】(1)Spring概述:什么是Spring框架?为什么要用Spring框架?
两个月前跟着b站动力节点王鹤老师的Spring框架教程视频学习完了Spring框架,在学习过程中我将视频中涉及的代码都一行一行手敲了一遍,并且把Spring入门相关的资料整理了一下,在这里记录一下我在 ...
- Spring Boot的优点入门
谈到Spring Boot,就让我们先来了解它的优点.依据官方的文档,Spring Boot的优点如下: •创建独立的Spring应用程序: •嵌入的Tomcat.Jetty或者Undertow,无须 ...
- java day57【 Spring 概述 、 IoC 的概念和作用、使用 spring 的 IOC 解决程序耦合 】...
第1章 Spring 概述 1.1 spring 概述[了解] 1.1.1 spring 是什么 1.1.2 Spring 的发展历程 1.1.3 spring 的优势 1.1.4 spring 的体 ...
- Spring概述及IOC(控制反转) Part I
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.Spring概述 1.Spring的模块划分图: 2.Spring主要由(IOC+AOP)构成: ioc的创建方式 ...
- Spring学习:一、Spring概述、Spring入门
1 Spring概述 1.1 什么是Spring Rod Johnson(http://baike.baidu.com/item/Rod Johnson)在2002年编著的<Expert one ...
- Spring|Spring概述
Spring|Spring概述 Spring 介绍 Spring 概念 Spring 思想:IoC 和 DI BeanFactory 接口 & ApplicationContext 接口 Sp ...
- 1.spring概述
1.spring概述 1.1Spring是什么 Spring是分层的 Java SE/EE应用 full-stack 轻量级开源框架,以 IoC(Inverse Of Control:反转控制)和 A ...
- 最新最全面的Spring详解(一)——Spring概述与IOC容器
前言 本文为 [Spring]Spring概述与IOC容器 相关知识,下边将对Spring概述,IOC容器(包括:IOC概述.配置元数据.容器实例化与使用.Bean的概述.依赖注入 Dependenc ...
最新文章
- 谷歌迂回入华:Waymo无人车抢先进驻上海!
- 洛谷P2158仪仗队(数学,观察找规律,欧拉函数)
- 系统重装后 Endnote 不能和Word联用的解决方法
- 计算机对英语口语考试成绩,英语口语考试人机对话得分技巧
- IPC-----消息队列
- linux的xampp单独启动mysql,linux的xampp重要的文件和目录
- Mr.J-- jQuery学习笔记(十一)--事件委托
- java基础概念整理(三)
- ORACLE锁的管理
- Android中设置EditText显示或隐藏密码
- 代理模式(静态代理、动态代理)
- git注意事项(持续更新中)
- catia2017安装包打开没反应_CATIA V5-6R2017软件下载与安装教程
- 高速公路坐标高程计算软件3.5发布
- ClassLoader类加载器,以及双亲委派模型
- timesat数据如何读取_CMPR软件安装教程和如何转换XRD格式
- 向量点乘(内积)和叉乘(外积、向量积)概念及几何意义解读
- 计算机硬盘的文件怎么删除文件,电脑硬盘删除文件怎么恢复
- _initialize() 区别 __construct()
- 针对全局的接口出入参加解密-AES/ECB/PKCS5Padding
热门文章
- Linux 合并多个文件
- linux 多个csv合并成一个csv
- 武大地理信息科学本科生的专业相关网站总结分享(包括制图、专业课、自学复习等)
- matlab笔记:一元微分方程求解
- intel RDT (Resource Director Technology) 管理LLC和内存带宽
- 华为MateBook D加装硬盘和内存
- JavaScript面向对象
- 山东大学2021算法期末
- hive建表报错FAILED: ParseException line 2:0 Failed to recognize predicate ‘date‘. Failed rule: ‘identifi
- android sku 库存管理,建议收藏!为什么合理的SKU设置对有效库存管理与销售至关重要?...