这是Spring框架和Spring核心概念的简介。 在本教程中,我们将介绍Spring Framework的主要优点和功能。 在随后的教程中,我们将学习有关Spring和Spring Boot的更多信息。
总览
我们知道, Spring框架是Java开发人员中最受欢迎的应用程序框架。 Spring以为Java 几乎可以完成的所有工作提供抽象和基础结构框架而闻名。 在较高的层次上,如果您想使用Java来访问数据库或NoSql DataStore,请创建一个Web应用程序,并与RESTful服务(例如,等等)进行交互。Spring已经为它提供了框架或抽象。
1.1Spring项目
Spring有很多模块和项目。 学习Spring框架甚至不需要很多。 以下是一些使用Spring编写企业应用程序时最有可能使用的主要Spring项目。
- Spring Core : Spring的基础。 它包括依赖注入(DI)和控制反转(IOC)
- Spring MVC :JSP / Servlet的抽象,用于构建基于Web的应用程序。
- Spring AOP :用于编写方面和面向方面的程序的快速组件。
- Spring Data :一组框架,提供跨不同类型的数据存储区访问数据的统一方法。
- Spring REST :Spring组件,用于编写RESTful Web服务。
- Spring Data JPA :Spring-data下的一个框架,用于增强Java Persistence API的实现。
- Spring Security :基于Web的应用程序的身份验证和授权框架。
- Spring Integration :一种流数据处理框架,遵循Pipes and Channels Integration Pattern。
1.2如何学习Spring?
实际上,Spring框架很大,无法在一两个教程中学习。 学习Spring的最好方法是从Spring-Core开始 ,了解依赖注入和控制反转 ,了解什么是Bean Factory和Bean Lifecycle,并尝试许多Hello World程序。
理解和尝试以上内容非常重要,因为这些几乎是Spring Framework中所有内容的基础。 一旦您熟悉了Spring的基本组件和原理,其他所有模块都非常容易选择。
2 Spring的特点
尽管Spring已经证明了其在开发行业级软件的许多方面的有用性,但我们将介绍Spring Framework的一些关键优点。
2.1简单性
在Spring之前,企业应用程序曾经基于Enterprise Java Bean (EJB)。 EJB以其复杂性,庞大性和较长的开发时间而闻名。 在契约中,Spring Frameworks仅基于普通旧Java对象 (POJO)和普通Java类。
2.2模块化
尽管Spring拥有大量工具,但您并不需要全部使用它。 Spring Developers巧妙地将其模块化。 简而言之,这意味着Spring中的不同工具或组件将作为独立的Java归档文件提供。 如果您想使用Spring APO,并且只需要spring AOP存档(以及几个核心库)。
2.3容器
任何Spring应用程序都有一个内置容器,该容器负责在应用程序中提供上下文。 容器在Springs Context中创建和管理类的实例。 容器还负责对象之间的依赖关系,称为依赖关系注入。 有了基于容器和上下文的机制,Spring应用程序通常真的很容易进行单元测试和集成测试。 您只需要提供“测试”上下文,整个应用程序将易于测试。
2.4豆工厂
Spring Bean Factory由Spring Container支持。 声明为Spring Bean的类由Spring Bean Factory实例化。 我们不再需要使用new
关键字。 Bean工厂可以延迟或急于实例化Bean(基于指定的策略)。 这样做时,如果Bean依赖于其他Bean,那么它们也会被实例化并注入。 这种机制称为依赖注入。
2.5流行
如前所述,Spring是最受欢迎的Java应用程序框架。 使用流行的框架有某些好处。 流行的框架始终保持良好的维护和良好的支持。 Internet上提供了大量资源,学习资料和黑客手段。 在Spring的组织或更广泛的社区中,使用开发人员可以说通用的语言和术语。
3小结
在这个简短的教程中,我们介绍了Spring Framework 。 我们了解了Spring的主要模块以及Spring功能。 我们对弹簧模块性,流行性,弹簧容器和弹簧豆工厂进行了简要概述。 在即将到来的教程中,我们将了解有关Spring Framework的更多信息。
翻译自: https://www.javacodegeeks.com/2019/02/introduction-spring-framework.html