英语原文共 313 页,剩余内容已隐藏,支付完成后下载完整资料
介绍Spring Boot
Spring框架是一种非常流行的Java框架,广泛用于构建web和企业应用程序。Spring的核心是一个依赖注入容器,它提供了以多种方式配置bean的灵活性,比如XML、Annotations和JavaConfig。多年来,Spring框架通过满足现代业务应用程序的需求(如安全性、对NoSQL数据存储的支持、处理大数据、批处理、与其他系统的集成等)而成倍增长。Spring及其子项目成为构建企业应用程序的可行平台。
Spring框架非常灵活,提供了多种配置应用程序组件的方法。通过将一组丰富的特性和多个配置选项组合在一起,配置Spring应用程序变得复杂且容易出错。Spring团队创建了Spring Boot,通过其强大的自动配置机制来解决配置的复杂性。
本章简要介绍了Spring框架。您将以传统的方式(不使用Spring Boot)使用SpringMVC和JPA开发web应用程序。然后,您将了解传统方法的痛点,并了解如何使用Spring Boot开发相同的应用程序。
Spring框架概述
如果您是一名Java开发人员,那么您很有可能听说过Spring框架,并在您的项目中使用过它。Spring框架最初是作为一个依赖注入容器创建的,但它远远不止于此。Spring很受欢迎有以下几个原因:
- Spring的依赖注入的方法鼓励编写测试代码
- 易于使用的和强大的数据库事务管理能力
- 弹簧与其他Java框架简化了集成,JPA / Hibernate ORM和Struts / JSF web框架
- 先进的web MVC框架
构建web应用程序的Spring框架,Spring还有许多其他子项目,帮助构建应用程序,满足现代商业需求:
- Spring Data:简化了关系型和NoSQL数据存储的数据访问。
- Spring Batch:提供了一个强大的批处理框架。
- Spring Security:用于保护应用程序的健壮安全框架。
- Spring Social: Supports integration with social networking sites like Facebook, Twitter, LinkedIn, GitHub, etc.
- Spring integration:企业集成模式的实现,使用轻量级消息传递和声明适配器来促进与其他企业应用程序的集成。
还有许多其他有趣的项目可以满足其他各种现代应用程序开发需求。有关更多信息,请参见http://spring.io/projects。
Spring配置风格
Spring最初提供了一种基于xml的bean配置方法。后来Spring引入了基于xml的DSL、注释和基于JavaConfig的bean配置方法。
Spring为配置应用程序组件提供了多种方法,您甚至可以混合使用这些方法。例如,您可以在同一个应用程序中使用基于JavaConfig和基于注释的配置样式。这是很大的灵活性,这有好有坏。刚接触Spring框架的人可能会对采用哪种方法感到困惑。
到目前为止,Spring社区建议您遵循基于JavaConfig的方法,因为它提供了更多的灵活性。但是没有一种万能的解决方案。您必须根据自己的应用程序需求选择方法。
现在您已经大致了解了各种风格的Spring Bean配置的外观,接下来将快速了解典型的SpringMVC和基于JPA/ hibernate的web应用程序配置。
使用SpringMVC和JPA开发Web应用程序
在了解Spring Boot并了解它提供了哪些特性之前,我们先来看看典型的Spring web应用程序配置是什么样子的,并了解其中的难点。然后,我们将看到Spring Boot如何解决这些问题。第一件要做的事是创建一个Maven项目,并配置pom.xml文件中所需的所有依赖项。
在SpringWebAppInitializer.java配置类中,我们执行了以下操作:
- 将AppConfig.class配置为RootConfirationClass,它将成为包含所有子环境(DispatcherServlet)共享的包含bean定义的父ApplicationContext。
- 将WebMvcConfig.class配置为ServletConfigClasses,它是包含WebMvc bean定义的子ApplicationContext。
- 配置/作为ServletMapping,这意味着所有的请求都将由DispatcherServlet处理。
- 注册OpenEntityManagerInViewFilter作为servlet过滤器,这样我们可以在呈现视图时延迟加载JPA实体延迟集合。
在运行应用程序之前,您需要在IDE中下载并配置Tomcat、Jetty或Wildflyetc这样的服务器。您可以下载Tomcat 8并配置您喜欢的IDE,运行应用程序,并将浏览器指向http://localhost:8080/springmvcjpa-demo。
只显示从数据库表中提取的用户详细信息的列表不是太麻烦了吗?让我们诚实而公正。所有这些配置都不只是针对这个用例。此配置成为应用程序其余部分的基础。同样,如果您想要快速地启动和运行,这是太多的工作要做。它的另一个问题是,假设您希望开发另一个具有类似技术堆栈的SpringMVC应用程序。您可以复制和粘贴配置并调整它。对吧?记住一件事:如果你不得不一次又一次地做同样的事情,你应该找到一种自动化的方法来做。除了一次又一次地编写相同的配置外,您还发现了其他问题吗?让我们看看我在这里看到的问题。
- 您需要搜索所有特定Spring版本的兼容库并配置它们。
- 大多数情况下,您将以相同的方式配置DataSource、EntitymanagerFactory、TransactionManager等bean。如果Spring可以自动为您完成这些任务,那不是很好吗?
- 类似地,您可以以相同的方式配置SpringMVC bean,如ViewResolver、MessageSource等。如果Spring可以自动为您做这件事,那就太棒了。
如果Spring能够自动配置bean呢?如果您可以使用简单的可自定义属性自定义自动配置,该怎么办?例如,您希望将DispatcherServlet url模式映射到/app/,而不是映射到/ 。您不需要将Thymeleaf视图放在/WEB-INF/视图文件夹中,而是要将它们放在/WEB-INF/templates/文件夹中。因此,基本上您希望Spring自动执行操作,同时提供以更简单的方式覆盖默认配置的灵活性。你即将进入春天的世界,在那里你的梦想可以成真!
小结
本章简要概述了各种Spring配置风格。目标是向您展示配置Spring应用程序的复杂性。另外,通过创建一个简单的web应用程序,您已经快速了解了Spring Boot。下一章将更详细地介绍Spring引导,并展示如何以不同的方式创建Spring引导应用程序。
开始学习 Spring Boot
本章将更详细地介绍SpringBoot及其特性。然后,本章将介绍创建Spring应用程序时的各种选项,如
Spring初始化器、Spring工具套件、Intellij IDEA等。最后,本章将探讨生成的代码并介绍如何运行应用程序。
什么是Spring Boot?
Spring Boot是一个实用的框架,它帮助开发人员快速、轻松地构建基于Spring的应用程序。Spring Boot的主要目标是快速创建基于Spring的应用程序,而不需要开发人员一次又一次地编写相同的样板配置。Spring Boot的主要功能包括:
- Spring Boot 启动器
- Spring Boot 自动配置
- 优秀的配置管理
- Spring Boot 执行器
- 于使用的嵌入式小型应用程序容器支持
Spring Boot 启动器
Spring Boot提供了许多入门模块,可以快速使用许多常用技术,如SpringMVC、JPA、MongoDB、SpringBatch、SpringSecurity、Solr、ElasticSearch,等等。这些启动程序预先配置了最常用的库依赖项,因此您不必搜索兼容的库版本并手动配置它们。
例如,spring-boot-starter-data-jpa-starter模块包括使用Spring Data JPA所需的所有依赖项,以及Hibernate库依赖项,因为Hibernate是最常用的JPA工具。
■ Note 您可以在官方文档中找到一个开箱即用的所有SpringBoot启动程序的列表: http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/ #using-boot-starter-poms.
Spring Boot 自动配置
Spring Boot通过消除手动设置样板配置的需要,解决了Spring应用程序需要复杂配置的问题。Spring Boot对应用程序有一个自用的看法,并通过基于各种标准注册bean来自动配置各种组件。标准可以是:
- 类路径中特定类的可用性
- 是否存在Spring bean
- 是否存在系统属性
- 是否缺少配置文件
例如,如果类路径中有spring-webmvc依赖项,那么spring Boot假设您正在尝试构建一个基于SpringMVC的web应用程序,如果DispatcherServlet尚未注册,则会自动尝试注册它。如果类路径中有任何嵌入式数据库驱动程序,比如H2或HSQL,并且没有显式配置DataSource bean,那么Spring Boot将使用内存中的数据库设置自动注册DataSource bean。您将在第3章中了解有关自动配置的更多信息。
讲究的配置管理
Spring支持使用@PropertySource配置外部化可配置属性。Spring Boot通过使用合理的默认值和强大的绑定到bean属性的类型安全属性,使之更进一步。Spring Boot支持为不同的文件提供单独的配置文件,而不需要太多配置。
Spring Boot 执行器
对于许多应用程序来说,能够获得在生产环境中运行的应用程序的各种细节是至关重要的。Spring Boot执行器提供了各种各样的可生产特性,而不需要开发人员编写很多代码。Spring 执行器的一些特点是::
- 可以查看应用程序bean配置详细信息
- 可以查看应用程序URL映射、环境详细信息和配置参数值
- 可以查看已注册的运行状况检查度量
易于使用的嵌入式Servlet容器支持
传统上,在构建web应用程序时,您需要创建W AR类型的模块,然后将它们部署到外部服务器上,如Tomcat、WildFly等。但是,通过使用Spring Boot,您可以创建JAR类型的模块,并很容易地将servlet容器嵌入到应用程序中,以便应用程序成为一个自包含的部署单元。此外,在开发过程中,可以使用Maven或Gradle等构建工具从IDE或命令行轻松地将Spring Boot JAR类型模块作为Java应用程序运行。在接下来的章节中,您将了解更多关于这些特性以及如何有效地使用它们的信息。.
你的第一个Spring Boot应用程序
有很多方法来创建Spring Boot应用程序。最简单的方法是使用位于http://start.Spring.io/的Spring初始化器,这是一个在线Spring启动应用程序生成器。在本节中,您将看到如何创建一个简单的Spring Boot web应用程序,为一个简单的HTML页面提供服务,并探索典型Spring Boot应用程序的各个方面。
使用Spring初始化器
您可以将浏览器指向http://start.spring.io/并查看项目详细信息,如图2-1所示。
图 2-1. Spring 初始化器r
- 选择Maven Project和Spring Boot版本(编写本书时,最新版本是2.0.0-SNAPSHOT)。
-
按如下所示输入Maven项目详细信息:
-
Group:com.apress 剩余内容已隐藏,支付完成后下载完整资料
资料编号:[239502],资料为PDF文档或Word文档,PDF文档可免费转换为Word
-
Group:com.apress 剩余内容已隐藏,支付完成后下载完整资料
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。