Spring框架


前言

框架(Framework) : 框(指其约束性)架(指其支撑性),在软件设计中指为解决一个开放性问题而设计的具有一定约束性的支撑结构。在次结构上可以根据具体问题扩展、安插更多的组成部分,从而更迅速和方便地构建完整的解决问题的方案。


一、Spring是什么?

Spring 被称为J2EE的春天,是一个分层的java SE/EE full-stack开源的轻量级的java开发框架,是最受欢迎的企业级java应用程序开发框架,数以百万的来自世界格第的开发人员使用Spring框架来创建性能好、易于测试、可重用的代码

Spring具有控制反转(loC)和面向切面(AOP) 两大核心。java Spring 框架通过声明方式灵活地进行事物的管理,提高开发效率和质量。

Spring框架不仅限于服务器端的开发,从简单性、可测试性和松耦合的角度而言、任何java应用都可以从Spring中收益。Spring框架还是一个超级粘合平台,除了自己提供功能外,还提供粘合其他技术和框架的能力。

二、Spring的优势

1、方便解耦,简化开发
2、方便集成各种优秀框架
3、降低Java EE API 的使用难度
4、方便程序的测试
5、AOP编程的支持
6、声明式事物的支持

2.1、Spring的体系结构

Spring 为我们提供了一站式解决方案,但Spring是模块化的,允许挑选和选择适用于项目的模块,不需要把剩余部分也引入。
Spring框架提供约20个模块,可以根据应用程序的要求来选择

2.2、核心容器

核心容器由 Spring-core,Spring-beans,Spring-context,Spring-context-support和Springexpression(SpEL,Spring 表达式语言,Spring Expression Language)等模块组成
Spring-core 模块提供了框架的基本组成部分,包括 IoC 和依赖注入功能。
Spring-beans 模块提供 BeanFactory,工厂模式的微妙实现,它移除了编码式单例的需要,并且
可以把配置和依赖从实际编码逻辑中解耦。
context 模块建立在由 core和 beans 模块的基础上建立起来的,它以一种类似于 JNDI 注册的方
式访问对象。Context 模块继承自 Bean 模块,并且添加了国际化(比如,使用资源束)、事件传
播、资源加载和透明地创建上下文(比如,通过 Servelet 容器)等功能。Context 模块也支持 Java
EE 的功能,比如 EJB、JMX 和远程调用等。ApplicationContext 接口是 Context 模块的焦点。
Spring-context-support 提供了对第三方集成到 Spring 上下文的支持,比如缓存(EhCache,
Guava, JCache)、邮件(JavaMail)、调度(CommonJ, Quartz)、模板引擎(FreeMarker,
JasperReports, Velocity)等。
Spring-expression 模块提供了强大的表达式语言,用于在运行时查询和操作对象图。它是 JSP2.1
规范中定义的统一表达式语言的扩展,支持 set 和 get 属性值、属性赋值、方法调用、访问数组集
4、方便程序的测试
Spring 支持 JUnit4,可以通过注解方便地测试 Spring 程序。
5、AOP 编程的支持
Spring 提供面向切面编程,可以方便地实现对程序进行权限拦截和运行监控等功能。
6、声明式事务的支持
只需要通过配置就可以完成对事务的管理,而无须手动编程。合及索引的内容、逻辑算术运算、命名变量、通过名字从 Spring IoC 容器检索对象,还支持列表的
投影、选择以及聚合等。
它们的完整依赖关系如下图所示:
在这里插入图片描述

三、Spring核心之loC控制反转

3.1loC的概念

Ioc-Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。
loC是指在程序开发中,实例的创建不在由调用者管理,而是由Spring容器创建。Spring容器会负责控制程序之间的关系,而不是由程序代码直接控制,因此,控制权由程序代码转移到了Spring容器中,控制权发生了反转,这就是Spring的loC思想。

3.2 Spring容器

Spring提供了两种loC容器,分别是BeanFactory和ApplicationContext.

3.2.1 BeanFactory

BeanFactory是基础类型的loC容器,是一个管理Bean的工厂,它主要负责初始化各种Bean,并调用他们的生命周期方法。
BeanFactory 接口有多个实现类,最常见的是
org.Springframework.beans.factory.xml.XmlBeanFactory,它是根据 XML 配置文件中的定义装配Bean 的。

</

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值