Spring 是什么框架?

简介: Spring 是什么框架?

Spring 是什么框架?



什么是 Spring 框架?


Spring 框架是一个轻量级的 Java 开发框架,为应用开发提供平台。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一是分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供继承的框架。


Spring 使用基本的 JavaBean 来完成以前只能只可能由 EJB 完成。

Spring  提供 IOC 容器,可以将对象直接的依赖关系交由 Spring 进行控制,避免通过硬编码造成程序过度耦合。

Spring 提供 AOP 功能,方便进行面向切面的编程,传统 OOP 实现的功能可以通过 AOP 实现。


Spring 框架有哪些模块


640.png


  • Spring Core: 基础,可以说是 Spring 其他所有功能都依赖于该类库,主要提供 IOC 和 DI 功能。

Core封装包是框架的最基础部分,提供IOC和依赖注入特性。这里的基础概念是BeanFactory,它提供对Factory模式的经典实现来消除对程序性单例模式的需要,并真正地允许你从程序逻辑中分离出依赖关系和配置。


  • Spring  Aspects: 该模块为 AspectJ的继承提供支持。
  • Spring AOP :提供面向方面发编程实现。

Spring的 AOP 封装包提供了符合AOP Alliance规范的面向方面的编程实现,让你可以定义,例如方法拦截器(method-interceptors)和切点(pointcuts),从逻辑上讲,从而减弱代码的功能耦合,清晰的被分离开。而且,利用source-level的元数据功能,还可以将各种行为信息合并到你的代码中。


  • Spring DAO JDBC : Java 数据连接。

DAO (Data Access Object)提供了JDBC的抽象层,它可消除冗长的JDBC编码和解析数据库厂商特有的错误代码。并且,JDBC封装包还提供了一种比编程性更好的声明性事务管理方法,不仅仅是实现了特定接口,而且对所有的POJOs(plain old Java objects)都适用。

  • Spring  JMS:Java 消息服务。
  • Spring ORM: 用于支持 Hibernate

ORM 封装包提供了常用的“对象/关系”映射APIs的集成层。其中包括JPA、JDO、Hibernate 和 iBatis 。利用ORM封装包,可以混合使用所有Spring提供的特性进行“对象/关系”映射,如前边提到的简单声明性事务管理。

  • Spring Context 提供了关于 UI 支持,邮件支持。

构建于Core封装包基础上的 Context封装包,提供了一种框架式的对象访问方法,有些象JNDI注册器。Context封装包的特性得自于Beans封装包,并添加了对国际化(I18N)的支持(例如资源绑定),事件传播,资源装载的方式和Context的透明创建,比如说通过Servlet容器。


  • Spring Web 提供了 web 的一些工具类的支持。
  • Spring MVC 提供了 web mvc, webviews ,jsp , pdf , export


常见的问题


Java 中依赖注入的方式

1)构造器注入;

2)Setter方法注入;

3)接口注入


Spring IOC 是什么?


Spring中的 org.springframework.beans 包和 org.springframework.context包构成了Spring框架IoC容器的基础。

  • BeanFactory 接口提供了配置机制,可使得任何类型的对象的配置成为可能。
  • ApplicationContext 接口对 BeanFactory 进行了扩展,在 BeanFactory 的基础上增加了其他功能,提供了事件传播,还有 WebApplicationContext。


参考资料


相关文章
|
8天前
|
XML Java 程序员
Spring6框架中依赖注入的多种方式(推荐构造器注入)
依赖注入(DI)是一种过程,对象通过构造函数参数、工厂方法的参数或在对象实例构建后设置的属性来定义它们的依赖关系(即与其一起工作的其他对象)。
20 3
|
19天前
|
Java 数据安全/隐私保护 Spring
Java 中 Spring Boot 框架下的 Email 开发
Java 中 Spring Boot 框架下的 Email 开发
270 2
|
19天前
|
缓存 前端开发 Java
【框架】Spring 框架重点解析
【框架】Spring 框架重点解析
33 0
|
19天前
|
XML Java 数据格式
Spring框架入门:IoC与DI
【5月更文挑战第15天】本文介绍了Spring框架的核心特性——IoC(控制反转)和DI(依赖注入)。IoC通过将对象的创建和依赖关系管理交给容器,实现解耦。DI作为IoC的实现方式,允许外部注入依赖对象。文章讨论了过度依赖容器、配置复杂度等常见问题,并提出通过合理划分配置、使用注解简化管理等解决策略。同时,提醒开发者注意过度依赖注入和循环依赖,建议适度使用构造器注入和避免循环引用。通过代码示例展示了注解实现DI和配置类的使用。掌握IoC和DI能提升应用的灵活性和可维护性,实践中的反思和优化至关重要。
34 4
|
19天前
|
安全 Java Spring
Spring框架中的单例Bean是线程安全的吗?
Spring框架中的单例Bean是线程安全的吗?
17 1
|
6天前
|
Java 程序员 Maven
基础框架 Spring
基础框架 Spring
|
6天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的框架仓库系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的框架仓库系统的详细设计和实现(源码+lw+部署文档+讲解等)
|
10天前
|
XML Java 测试技术
Spring框架
Spring框架
21 1
|
10天前
|
JavaScript 前端开发
1天搞定SpringBoot+Vue全栈开发 (5)Vue框架快速上手
1天搞定SpringBoot+Vue全栈开发 (5)Vue框架快速上手
|
11天前
|
XML Java 数据格式
Spring框架学习 -- Bean的生命周期和作用域
Spring框架学习 -- Bean的生命周期和作用域
17 2