spring开始

本参考指南提供有关Spring框架的详细信息。它为所有功能提供了全面的文档,以及Springq潜在的基本概念(如“依赖注入”)的背景知识。
如果您刚开始使用Spring,则可能需要通过创建基于Spring Boot的应用程序来开始使用Spring Framework。 Spring Boot提供了一种快速方式来创建一个基于生产的Spring应用程序。它基于Spring框架,有利于配置的约定,并且旨在尽可能快地开始运行。
您可以使用start.spring.io生成一个基本项目,或按照“入门指南”中的一个指导,如“入门构建RESTful Web Service”。除了易于消化以外,这些指南非常重视任务,大部分都是基于Spring Boot。他们还涵盖了Spring解决方案中您可能想要考虑的其他项目。
Spring框架介绍
Spring Framework是一个Java平台,为开发Java应用程序提供全面的基础设施支持。 Spring处理基础设施,以便您可以专注于您的应用程序。
Spring使您能够从“简单的Java对象”(POJO)构建应用程序,并将企业服务非侵入式应用于POJO。此功能适用于Java SE编程模型以及完整和部分Java EE。
作为应用程序开发人员,您可以从Spring平台中获益如何:
1.使Java方法在数据库事务中执行,而不必处理事务API。
2.将本地Java方法作为远程过程,而无需处理远程API。
3.使本地Java方法成为管理操作,而无需处理JMX API。
4.使本地Java方法成为消息处理程序,而无需处理JMS API。
依赖注入和控制反转
Java应用程序 - 从受限嵌入式应用程序到n层服务器端企业应用程序运行范围的宽松术语通常由协作形成应用程序的对象组成。因此,应用程序中的对象彼此有依赖关系。

虽然Java平台提供了丰富的应用程序开发功能,但它缺乏将基本构建块组织成一个连贯的整体的方法,将该任务留给架构师和开发人员。虽然您可以使用Factory,Abstract Factory,Builder,Decorator和Service Locator等设计模式来构成构成应用程序的各种类和对象实例,但这些模式只是简单的说明:给出名称的最佳实践,以及什么样的模式,应用于哪里,它解决的问题等等。模式是您必须在应用程序中实现自己的正式的最佳实践。
Spring框架反转控制(IoC)组件通过提供将不同组件组成完整工作应用程序的正式方法来解决这一问题。 Spring Framework将形式化的设计模式作为可以集成到您自己的应用程序中的第一类对象进行编译。许多组织和机构以这种方式使用Spring框架来设计强大的,可维护的应用程序。
背景
“问题是,什么方面的控制是(他们)反转? Martin Fowler在2004年在他的网站上提出了关于控制反转(IoC)的问题.Fowler建议重新命名原则,使其更加自明,并提出依赖注入。
模块
Spring框架由组织成约20个模块的功能组成。这些模块分为Core Container,Data Access / Integration,Web,AOP(面向切面编程),Instrumentation,Messaging和Test,如下图所示。
图2.1 Spring框架概述
这里写图片描述

以下部分列出了每个功能的可用模块及其工件名称及其涵盖的主题。人工制品名称与依赖关系管理工具中使用的工件ID相关。
核心集装箱
核心容器由spring-core,spring-beans,spring-context,spring-context-support和spring-expression(Spring Expression Language)组成。
spring-core和spring-beans模块提供了框架的基本部分,包括IoC和依赖注入功能。 BeanFactory是工厂模式的复杂实现。它消除了对编程单例的需要,并允许您将依赖关系的配置和规范与实际程序逻辑分离。
上下文(spring-context)模块建立在由Core and Beans模块提供的实体基础上:它是以类似于JNDI注册表的框架式方式访问对象的一种手段。上下文模块从Beans模块继承其功能,并增加了对国际化的支持(例如使用资源束),事件传播,资源加载以及例如Servlet容器透明创建上下文。 Context模块还支持Java EE功能,如EJB,JMX和基本远程处理。 ApplicationContext接口是Context模块的焦点。 spring-context-support支持将常见的第三方库集成到Spring应用程序环境中,特别是缓存(EhCache,JCache)和调度(CommonJ,Quartz)。
spring-expression模块提供了强大的表达式语言,用于在运行时查询和操作对象图。它是JSP 2.1规范中规定的统一表达语言(统一EL)的扩展。该语言支持设置和获取属性值,属性分配,方法调用,访问数组,集合和索引器的内容,逻辑和算术运算符,命名变量以及从Spring的IoC容器中以名称检索对象。它还支持列表投影和选择以及常见列表聚合。
AOP和仪器
spring-aop模块提供了符合AOP联盟的面向方面的编程实现,允许您定义方法拦截器和切入点,以便干净地解除实现应分离的功能的代码。使用源级元数据功能,您还可以以类似于.NET属性的方式将行为信息合并到代码中。
单独的弹簧模块提供与AspectJ的集成。
弹簧仪模块提供了在某些应用服务器中使用的类仪表支持和类加载器实现。 spring-instrument-tomcat模块包含Spring的Tomcat测试代理。

猜你喜欢

转载自blog.csdn.net/lwglwg32719/article/details/77340482