`

[Spring引用文档] 1. Spring框架概述

阅读更多
        Spring框架是一个轻量级的解决方案和一个潜在地构建企业应用的一站式服务。框架支持声明式事务管理,提供了一个全功能的MVC框架,可以透明集成AOP

Spring被设计为非侵入式,这意味着你的领域逻辑代码不依赖于框架本身。

本文档是Spring框架功能的引用指南

框架介绍

Spring框架是一个Java平台,其提供了开发Java应用的全面的基础设施支持。Spring负责处理基础设施,因此你可以专注于你的应用程序。

Spring能让你使用POJOs来构建应用程序,并以非侵入式地将企业服务应用到这些POJOs上。

依赖注入和控制反转

The question is, what aspect of control are [they] inverting?我们控制的哪些方面是需要反转的?),Martin Fowler2004年提出了关于控制反转(IoC的这个问题。他建议重命名这个原则,使之更加不言自明,并想出了依赖注入

Java应用通常由对象组成,而对象之间又互相依赖着。

虽然Java平台提供了丰富的应用程序开发功能,但它缺少将基础构建块组织成一个有机整体的工具,这项任务就留给了架构师和开发人员。设计模式的最佳实践:一个名字和它能做什么的一个描述,哪里可以应用它,它解决的问题。

控制反转(IoC)组件解决了这一问题,通过提供一种组装不同组件到一个完全可运行的应用程序的正式方式。Spring框架将这些正式的设计模式编写为一系列的对象,你可以集成它们到你的应用程序中。

模块

Spring框架模块被分组为Core ContainerData Access/IntegrationWebAOP (Aspect Oriented Programming)Test

Spring框架概述 (3.2.x)

Spring框架概述 (1.2.x)

Core Container (核心容器)

Core ContainerCoreBeansContextExpression Language模块组成。

Core and Beans模块提供了框架的基础部分,包括IoC容器和依赖注入功能。BeanFactory移除了单例模式编程的需求,并从实际的程序逻辑中解耦配置和依赖关系的设定。

Context模块建立在由CoreBeans模块提供的基础功能之上:这是一种访问对象的方式。Context模块继承了Beans模块的功能,并增加了对国际化、事件传播、资源加载和上下文透明创建的支持ApplicationContext接口是Context模块的焦点

Expression Language模块提供了一个强大的在运行时查询和操作对象图的表达式语言。语言支持设置和获取属性值、属性赋值、方法调用、从IoC容器按名称检索对象等。

Data Access/Integration (数据访问/集成层)

Data Access/Integration层由JDBCORMOXMJMSTransaction模块组成。

JDBC模块提供了JDBC抽象层,不再需要冗长的JDBC编码和数据库厂商特有的错误码解析。

ORM模块提供了对象关系映射APIs的集成层

OXM模块提供了一个支持Object/XML映射实现的抽象层

JMSJava消息服务)模块包含了生产和消费消息的功能

Transaction模块支持实现特殊接口的类和所有POJOs的程序式和声明式事务管理

Web

Web层由WebWeb-ServletWeb-StrutsWeb-Portlet模块组成。

Web模块提供了基本的面向web的集成功能

Web-Servlet模块包含web应用的模型-视图-控制器(MVC)实现MVC框架提供了领域模型代码和web表单之间的完全分离。

AOP and Instrumentation

AOP模块提供了一个AOP联盟兼容的面向切面编程实现,这个实现允许你定义方法拦截器切点,以便干净地解耦逻辑上应被分开的功能实现代码。

Aspects模块提供了集成AspectJ功能

Instrumentation模块提供了类工具支持和类加载器实现

Test

Test模块支持使用TestNGJUnit测试Spring的组件

使用场景

前面所述的构件块Spring框架在许多场景下是一个合适的选择。

典型完整的Spring web应用 (3.2.x)

典型完整的Spring web应用 (1.2.x)

声明式事务管理功能使整个web应用都具有事务性

所有自定义的业务逻辑都可以用简单的POJOs来实现,并由IoC容器管理

独立于web层的校验服务(validation),可以让你选择在哪里执行检验规则

ORM支持iBatis集成

表单控制器使用领域模型来无缝集成web层,不再需要那些能将HTTP参数转换为领域模型属性值的实现类

依赖管理和命名规范

依赖管理和依赖注入是两个不同的东西,这里的依赖通常指文件系统上的物理资源。依赖管理的过程包括定位资源,将其存储,并把它们添加到类路径下。

Spring的依赖和依赖Spring的应用

Spring只有一个强制性的外部依赖,这就是logging

依赖Spring的应用可以通过MavenIvy来管理

Logging

日志记录是Spring的一个很重要的依赖。原因有三,a) 唯一强制性的外部依赖,b) 每个人都喜欢看到自己使用的工具输出的一些信息,c) Spring集成了很多其它工具,所有这些工具都有自己的日志依赖。

开发者的目标之一:对整个应用而言,只在一个中心位置配置统一的日志记录。

Spring的日志依赖是Jakarta Commons Logging API (JCL)

Not Using Commons Logging

不幸的是,commons-logging框架的运行时发现算法是有问题的。首选可能是简单的日志门面框架 Simple Logging Facade for Java (SLF4J)

Using SLF4J

SLF4J是一个干净的依赖关系。它在运行时要比commons-logging框架更高效,因为它使用编译时绑定技术,而非运行时发现技术。这意味着你必须更明确地了解运行时会发生什么,并相应地声明它或配置它。

SLF4J提供了绑定到许多常见的日志框架的jar包,包括common-loggingLog4JLogback

 

 

玩的开心!^_^

  • 大小: 52.4 KB
  • 大小: 53.4 KB
  • 大小: 76.2 KB
  • 大小: 51.7 KB
分享到:
评论

相关推荐

    Spring5.0.0.RELEASE框架文档

    对于新用户,Spring框架概述部分提供了如何开启Spring之旅的引导,从框架简介到核心特性,逐步展示了如何通过依赖注入和控制反转实现模块化,以及各个模块的详细介绍,如核心容器、AOP和设备模块、消息组件、数据...

    Spring5官方文档.pdf

    Spring Framework 官方文档 Spring Framework 是一种基于 Java 语言的开源框架,旨在简化企业级应用程序的开发。该框架提供了一个通用的、可重用的基础结构,支持快速开发、灵活的企业级应用程序。 概述 Spring ...

    Spring框架参考文档-4.3.25-中文完整版-前六章公布版1

    Spring 框架参考文档-4.3.25-中文完整版前六章公布版1 Spring 框架是 Java 语言中最流行的开源框架之一,由 Rod Johnson 和 Juergen Hoeller 等人创建。Spring 框架提供了一个综合的编程和配置模型,帮助开发者快速...

    最新版完整包 spring-5.3.11.RELEASE.zip

    1. **Spring框架概述** Spring是一个开源的Java平台,它简化了企业级应用开发,提供了一个全面的编程和配置模型,支持面向切面编程(AOP),并促进了良好的编程实践。Spring框架由多个模块组成,包括核心容器、数据...

    spring框架api中文版.zip(spring开发手册)

    即Spring框架的概述 1。 介绍Spring框架 1.1。 依赖注入和控制反转 1.2。 模块 1.2.1。 核心容器 1.2.2。 数据访问/集成 1.2.3。 web 1.2.4。 AOP和仪表 1 2 5。 测试 1.3。 使用场景 1.3.1。 依赖关系管理和命名...

    Spring 3 中文帮助文档..pdf

    #### 第一部分:Spring框架概述 ##### 第1章:Spring Framework介绍 - **1.1 依赖注入与控制反转** - 依赖注入(Dependency Injection, DI)和控制反转(Inversion of Control, IoC)是Spring框架的核心概念之一...

    spring框架:spring-framework-4.3.9.RELEASE-dist

    一、Spring框架概述 Spring是一个开源的Java平台,旨在简化企业级应用的开发。它提供了一个全面的编程和配置模型,使得Java开发人员能够更专注于业务逻辑,而不是底层基础设施。Spring的核心特性包括:DI、AOP、数据...

    spring-5.2.3.RELEASE-dist.zip

    一、Spring框架概述 Spring作为一款轻量级的Java应用程序框架,它提供了全面的编程和配置模型,旨在简化Java开发。Spring框架的核心特性包括依赖注入(Dependency Injection, DI)、面向切面编程(Aspect-Oriented ...

    Spring.NET参考文档.rar

    Spring.NET是中国开源社区对Spring框架的一个实现,它为.NET开发者提供了与Java平台上的Spring框架相似的功能,旨在简化企业级应用程序的开发。这个压缩包“Spring.NET参考文档.rar”包含了全面的指南,帮助开发者...

    Spring Cloud 中文文档.pdf

    Spring Cloud 是一个基于 Spring Boot 的微服务框架,它简化了分布式系统中的一些常见模式的开发,如配置管理、服务发现、断路器、智能路由、微批处理、一次性任务执行等。Spring Cloud 旨在为开发者提供快速构建...

    spring-kafka文档.zip

    Spring Kafka是Spring框架的一部分,它为Java开发者提供了一种集成Apache Kafka的简便方式,使我们能够充分利用Kafka的分布式消息传递能力。本文将深入探讨Spring Kafka的核心概念、主要功能以及实际应用,旨在帮助...

    Spring Security开发文档.docx

    **Spring Security 概述** Spring Security 是一个强大的和高度可定制的身份验证和访问控制框架,用于保护基于 Java 的应用程序。它提供了一套全面的安全服务,包括用户认证、授权、会话管理以及对常见攻击(如CSRF...

    Spring Data MongoDB中文文档

    #### 一、Spring Data MongoDB概述 - **Spring Data MongoDB** 是 **Spring Data** 家族的一员,它提供了一种简单的方式来与 MongoDB 数据库进行交互。通过 Spring Data MongoDB,开发者可以利用 Spring 的强大功能...

    Spring 3.x 中文开发手册.pdf

    #### 一、Spring 3.x 概述 Spring 3.x 是一个重大版本更新,引入了许多新功能和改进,旨在简化开发过程并提高应用程序性能。Spring 框架的核心优势在于其轻量级、模块化以及易于集成第三方库的能力。Spring 3.x 的...

    官方原版源码spring-framework-4.3.25.RELEASE.zip

    - **spring-framework-4.3.25.RELEASE-docs.zip**:包含了官方文档,是学习和理解Spring框架的重要资源,包括API参考、开发者指南和用户手册。 - **spring-framework-4.3.25.RELEASE-schema.zip**:提供了Spring ...

    spring绝佳入门教程.pdf

    Spring框架是Java开发中最常用的轻量级框架之一,它以其模块化、易用性和灵活性而闻名。本教程“Spring绝佳入门教程.pdf”旨在为初学者提供一个全面且深入的Spring框架学习路径,帮助他们快速掌握Spring的核心概念和...

    spring-3.2.0.M1-dist

    一、Spring框架概述 Spring是一个开源的Java平台,它主要关注应用程序的“基础设施”部分,为开发者提供了全面的控制权。通过依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,...

    SpringCloud技术文档整理.pdf

    SpringCloud技术文档主要介绍了微服务架构的演进和SpringCloud框架的概述,包括其特性、组成及关键组件。以下是对这些知识点的详细说明: 微服务架构的演变: 1. **单体架构**:在应用程序早期,单体架构因其开发...

    spring2.5.5_API.chm

    本资源"spring2.5.5_API.chm"是Spring 2.5.5版本的API文档的CHM(Compiled HTML Help)格式,它为开发者提供了详尽的API参考,方便快速查询和理解Spring框架的功能和用法。 一、Spring概述 Spring是一个开源的Java...

Global site tag (gtag.js) - Google Analytics