Spring基础(二)——Spring基础

Spring架构图

image.png

  • 核心容器:Beans、Core、Context、Expression Language(EL)

    1. Bean模块:提供框架的基础部分,包括反转控制和依赖注入。Bean Factory是容器的核心,本质是“工厂设计模式”,提倡使用面向接口编程,而非面向实现编程;所有的应用程序对象及对象之间关系由框架管理,这些对象依赖关系由BeanFactory来维护
    2. Core模块:封装框架依赖的最底层部分,有资源访问、类型转换和一些常用工具类
    3. Context模块:以Core和Beans为基础,集成Beans模块功能并添加资源绑定、数据验证、国际化、Java EE支持、容器生命周期、事件传播等,核心接口是ApplicationContext。
    4. EL模块:提供强大的表达式语言支持,支持访问和修改属性值,方法调用,支持访问及修改数组、容器和索引器,命名变量,支持算数和逻辑运算,支持Spring容器获得Bean。
  • AOP、Aspects

    1. AOP模块:Spring AOP模块提供了面向切面的编程,将比如日志记录,权限控制、性能统计等通用方能与业务逻辑分离,可以动态的植入代码中,降低业务逻辑与通用功能的耦合
    2. Aspects模块:提供了AspectJ的集成
  • 数据访问/集成

    1. 事务模块:Spring事务管理,好处是无需再代码中进行事务控制,而且支持编程和声明式的事务管理
    2. JDBC模块:提供JDBC模板,避免传统冗余的JDBC编码
    3. ORM模块:与流行的“对象-关系”映射框架无缝继承,比如:Hibernate、JPA和iBatis
    4. OXM模块:提供一个对Object/XML映射实现,将Java对象与XML数据互相映射,包含:JAXB、Castor、XMLBeans和XStream
    5. JMS模块:用于JMS(Java Message Service),提供一套“信息生产者、消息消费者”模板,JMS用于两个应用程序之间,或分布式系统中发送消息,进行异步通信;
  • Web/Remoting

    1. Web模块:提供了基础的Web功能,比如多文件上传、集成IoC容器、远程登入访问以及Web Service支持,并且提供一个RestTemplate类提供方便的Restful service访问
    2. Web-Servlet模块:提供一个Spring MVC Web框架实现。Spring MVC框架提供了基于注解的请求资源注入、更简单的数据绑定、数据验证等及一套非常易用的JSP标签,可无缝与Spring其他技术协作
    3. Web-Struts模块:提供了与Struts的无缝集成
  • Test
    Spring支持Junit和TestNG测试框架,还额外提供一些基于Spring的测试功能,比如说测试Web框架时,模拟Http请求的功能。

应用场景

image.png
Web应用程序的开发是典型的三层框架:数据模型层实现域对象、数据访问层实现数据访问、逻辑层实现业务逻辑、Web提供页面显示
所有的组件都有Spring管理,享受Spring事务管理与AOP的好处,唯一的请求入口是DispatcherServlet,它通过把请求映射为相应web层组件来实现相应请求功能。

猜你喜欢

转载自blog.csdn.net/weixin_41676282/article/details/90646921