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

Spring 整体架构

作者头像
WindWant
发布2020-09-11 10:03:22
4450
发布2020-09-11 10:03:22
举报
文章被收录于专栏:后端码事

1. Core Container:核心容器(core、Beans、Context、Expression Language

  • Core、Beans框架基础构成,提供IOC、依赖注入特性。BeanFactory
  • Core:核心工具类包。
  • Beans:包含访问配置文件,创建管理bean及进行IOC,DI操作所需要的类。
  • Context:构建于Core及Beans之上,提供类似JNDI注册器框架式对象访问方法,Context集成Beans特性并提供大量扩展,国际化、
  • 事件传播、资源加载等。支持J2EE特性(EJB、JMX、远程处理。ApplicatoinContext是Context的关键。
  • Expression Language:运行时查询,操纵对象的表达式语言。

2. Data Access/Integration:JDBC、ORM、OXM、JMS、TRNSACTION

  • JDBC:Spring对JDBC数据访问的所有封装。
  • ORM:关系对象映射,JPA、JDO、Hibernate、Ibatis
  • OXM:提供Object/XML映射实现的抽象层。
  • JMX:消息制造和消费。
  • Transaction:编程和声明性事务管理,实现特定的接口,并支持所有的pojo。

3. WEB

  • WEB模块建立与应用上下文之上,为基于web的应用提供上下文
  • Web模块:提供基础的面向Web的集成特性,
  • Web-Servlet:Spring的MVC实现,
  • Web-Struts:对Struts支持
  • Web-Porlet:

4. AOP:面向切面的编程。

核心类介绍

  • DefaultListableBeanFactory:bean加载核心部分。扩展类:XmlBeanFactory,自定义xml读取XmlBeanDefinitionReader,
  • XmlBeanDefinitionReader:Xml读取。
  • ResourceLoader:资源加载器,加载制定路径文件并返回Resource
  • BeanDefinitionReader:资源文件读取,并转换为BeanDefinition的个性功能
  • EnvironmentCapable:定义获取Environment的方法。
  • DocumentLoader:加载资源文件并转换为Document
  • BeanDefiinitionDocumentReader:读取Document并注册BeanDefinition
  • BeanDefinitionParserDelegate:读取Element

配置文件读取过程步骤:

  • 通过继承自AbstractBeanDefinitionReader的方法,通过ResourceLoader将资源文件转换为对应的Resource文件。
  • 通过DoucmentReader对Resource文件进行转换,转换为Doucment文件。
  • 通过实现接口BeanDefinitionDocumentReader的DefaultBeanDefinitionDocumentReader类对Document进行解析,并使用 BeanDefinitionParserDelegate对Element进行读取。

容器基础:XmlBeanFactory

在java中将不同的资源抽象成URL,通过注册不同的URL Handler(URLStreamHandler),格式 协议:Protocal

配置文件封装:Resource接口

InputStreamSource封装任何返回InputStream的类,方法,getInputStream(),返回一个新的对象。

当前资源状态判断,exists,isReadable,isOpen,提供对不同资源到URL,URI,FILE的转换,以及获取文件相应属性,创建相对资源(createRelative()),打印错误信息(getDescription()).

对于不同来源的资源文件,设置相应的Resource实现

  • 文件系统:FileSystemResource
  • Classpath资源:ClassPathResource
  • URL资源:UrlResource
  • InputStream资源:InputStreamResource
  • Byte数组:ByteResource
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-03-15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. Core Container:核心容器(core、Beans、Context、Expression Language
  • 2. Data Access/Integration:JDBC、ORM、OXM、JMS、TRNSACTION
  • 3. WEB
  • 4. AOP:面向切面的编程。
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档