前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring 是什么框架?

Spring 是什么框架?

作者头像
王小明_HIT
发布2020-09-22 10:25:47
6640
发布2020-09-22 10:25:47
举报

Spring 是什么框架?

什么是 Spring 框架?

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

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

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

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

Spring 框架有哪些模块

  • 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。

参考资料

  • https://developer.ibm.com/zh/technologies/spring/articles/wa-spring1/
  • http://blog.itpub.net/69902581/viewspace-2662511/
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-09-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员奇点 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Spring 是什么框架?
    • 什么是 Spring 框架?
      • Spring 框架有哪些模块
        • 常见的问题
          • Java 中依赖注入的方式
          • Spring IOC 是什么?
        • 参考资料
        相关产品与服务
        容器服务
        腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档