Spring框架介绍

Spring是一个基于IoC和AOP的JavaEE轻量级框架,简化开发并提供解耦、AOP编程、声明式事务管理等功能。其包括核心容器、AOP模块、数据访问/集成、Web模块等多个组件,适用于各种企业级应用。

Spring简介

        Spring 一个 IoC  AOP 为基础的Java EE轻量级开源框架,其目的是用于简化 Java 企业级应用的开发难度和开发周期。

        广义上的 Spring 泛指以 Spring Framework 为核心的 Spring 技术栈。例如 Spring Framework、Spring MVC、SpringBoot、Spring Cloud、Spring Data、Spring Security 等,其中 Spring Framework 是其他子项目的基础。

        狭义的 Spring 特指 Spring Framework,通常我们将它称为 Spring 框架。Spring 框架是一个分层的、面向切面的 Java 应用程序的一站式轻量级解决方案,它是 Spring 技术栈的核心和基础,是为了解决企业级应用开发的复杂性而创建的。Spring框架最核心的模块是IoC(“控制反转”) 和 AOP(“面向切面编程”)。

Spring优势

1、方便解耦,简化开发
通过Spring提供的IoC容器,可以将对象间的依赖关系交由Spring进⾏控制,避免硬编码所造成的
过度程序耦合。⽤户也不必再为单例模式类、属性⽂件解析等这些很底层的需求编写代码,可以更
专注于上层的应⽤。
2、AOP编程的⽀持
通过SpringAOP功能,⽅便进⾏⾯向切⾯的编程,许多不容易⽤传统OOP实现的功能可以通过
AOP轻松应付。
3、声明式事务的⽀持
通过使用配置文件或者注解@Transactional 可以将我们从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活的进行事务的管理,提高开发效率和质量。
4、方便程序的测试
可以用非容器依赖的编程方式进行几乎所有的测试工作,测试不再是昂贵的操作,⽽是随手可做的
事情。
5、方便集成各种优秀框架
Spring可以降低各种框架的使⽤难度,提供了对各种优秀框架(StrutsHibernateHessian
Quartz等)的直接⽀持。
6、降低JavaEE API的使⽤难度
SpringJavaEE API(如JDBCJavaMail、远程调⽤等)进⾏了薄薄的封装层,使这些API的使用难度大为降低。
7、源码是经典的 Java 学习范例
Spring的源代码设计精妙、结构清晰、匠心独⽤,处处体现着大师对Java设计模式灵活运⽤以及对
Java技术的⾼深造诣。它的源代码⽆意是Java技术的最佳实践的范例。

Spring核心模块

Spring框架由大约20个模块组成,这些模块分为Test、Core Container、Data Access/Integration、Web、AOP/Aspect、Instrumentation和Messaging,如下图所示:

 Spring框架的所有模块可以满足一切企业级应用开发的需求,在开发过程中可以根据需求有选择性地使用所需要的模块。

1、Spring Core(核心容器):spring core提供了IOC,DI,Bean配置装载创建的核心实现。

  • spring-core :IOC和DI的基本实现
  • spring-beans:BeanFactory和Bean的装配管理(BeanFactory)
  • spring-context:Spring context上下文,即IOC容器(AppliactionContext)
  • spring-expression:spring表达式语言

②Spring AOP:对⾯向切⾯编程提供了丰富的⽀持。这个模块是Spring应 ⽤系统中开发切⾯的基础,与DI⼀样,AOP可以帮助应⽤对象解耦。

  • spring-aop:面向切面编程的应用模块,整合ASM,CGLib,JDK Proxy
  • spring-aspects:集成AspectJ(AOP应用框架)
  • spring-instrument:动态Class Loading模块

③Spring Data Access

  • spring-jdbc:spring对JDBC的封装,用于简化jdbc操作
  • spring-orm:java对象与数据库数据的映射框架
  • spring-oxm:对象与xml文件的映射框架
  • spring-jms: Spring对Java Message Service(java消息服务)的封装,用于服务之间相互通信
  • spring-tx:spring jdbc事务管理

④Spring Web

  • spring-web:最基础的web支持,建立于spring-context之上,通过servlet或listener来初始化IOC容器
  • spring-webmvc:实现web mvc
  • spring-websocket:与前端的全双工通信协议
  • spring-webflux:Spring 5.0提供的,用于取代传统java servlet,非阻塞式Reactive Web框架,异步,非阻塞,事件驱动的服务

⑤Spring Message

  • Spring-messaging:spring 4.0提供的,为Spring集成一些基础的报文传送服务

⑥Spring test

  • spring-test:集成测试支持,主要是对junit的封装

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值