无棣网站制作,石家庄建设局网站,请概述网站建设的一般步骤,苏州网站设计公司兴田德润怎么样什么是Spring
我知道你现在可能迫不及待地想要开始编写Spring应用了。我向你保证#xff0c;在本章结束之前#xff0c;你肯定能够开发一个简单的Spring应用。但首先#xff0c;我将使用Spring的一些基础概念为你搭建一个舞台#xff0c;帮助你理解Spring是如何运转起来的…什么是Spring
我知道你现在可能迫不及待地想要开始编写Spring应用了。我向你保证在本章结束之前你肯定能够开发一个简单的Spring应用。但首先我将使用Spring的一些基础概念为你搭建一个舞台帮助你理解Spring是如何运转起来的。
任何实际的应用程序都是由很多组件组成的每个组件负责整个应用功能的一部分这些组件需要与其他的应用元素协调以完成自己的任务。当应用程序运行时需要以某种方式创建并引入这些组件。
Spring的核心是提供了一个容器container。它们通常被称为Spring应用上下文Spring application context会创建和管理应用的组件。这些组件也可以称为bean会在Spring应用上下文中装配在一起从而形成一个完整的应用程序这类似于砖块、砂浆、木材、管道和电线组合在一起形成一栋房子。
将bean装配在一起的行为是通过一种基于依赖注入Dependency InjectionDI的模式实现的。此时组件不会再去创建它所依赖的组件并管理它们的生命周期使用依赖注入的应用依赖于单独的实体容器来创建和维护所有的组件并将其注入到需要它们的bean中。通常这是通过构造器参数和属性访问property accessor方法来实现的。
举例来说假设在应用的众多组件中有两个是我们需要处理的库存服务用来获取库存水平和商品服务用来提供基本的商品信息。商品服务需要依赖于库存服务这样它才能提供商品的完整信息。图1.1阐述了这些bean和Spring应用上下文之间的关系。 图1.1 应用组件通过Spring的应用上下文来进行管理并实现互相注入
在核心容器之上Spring及其一系列的相关库提供了Web框架、各种持久化可选方案、安全框架、与其他系统集成、运行时监控、微服务支持、反应式编程模型以及众多现代应用开发所需的其他特性。
在历史上指导Spring应用上下文将bean装配在一起的方式是使用一个或多个XML文件这些文件描述了各个组件以及它们与其他组件的关联关系。例如如下的XML描述了两个bean —— InventoryService bean和ProductService bean并且通过构造器参数将InventoryService装配到ProductService中
bean id inventoryServiceclass com.example.InventoryService /bean id productServiceclass com.example.ProductService /constructor-arg ref inventoryService /
/bean
但是在最近的Spring版本中基于Java的配置更为常见。如下基于Java的配置类是与XML配置等价的
Configuration
public class ServiceConfiguration {Beanpublic InventoryService inventoryService() {return new InventoryService();}Beanpublic ProductService productService() {return new ProductService(inventoryService());}
}
Configuration注解会告知Spring这是一个配置类它会为Spring应用上下文提供bean。
这个配置类的方法上使用Bean注解进行了标注这表明这些方法所返回的对象会以bean的形式添加到Spring的应用上下文中默认情况下这些bean所对应的bean ID与定义它们的方法名称是相同的。
相对于基于XML的配置方式基于Java的配置会带来多项额外的收益包括更强的类型安全性以及更好的重构能力。即便如此不管是使用Java还是使用XML的显式配置都只有在Spring不能自动配置组件的时候才具有必要性。
在Spring技术中自动配置起源于所谓的自动装配autowiring和组件扫描component scanning。借助组件扫描技术Spring能够自动发现应用类路径下的组件并将它们创建成Spring应用上下文中的bean。借助自动装配技术Spring能够自动为组件注入它们所依赖的其他bean。
最近随着Spring Boot的引入自动配置的能力已经远远超出了组件扫描和自动装配。Spring Boot是Spring框架的扩展提供了很多生产效率方面的增强。最为大家所熟知的增强就是自动配置autoconfigurationSpring Boot能够基于类路径中的条目、环境变量和其他因素合理猜测需要配置的组件并将它们装配在一起。
我非常愿意为你展现一些关于自动配置的示例代码但是我做不到。自动配置就像风一样你可以看到它的效果但是我找不到代码指给你说“看这就是自动配置的样例”事情发生了组件启用了功能也提供了但是不用编写任何的代码。没有代码就是自动装配的本质也是它如此美妙的原因所在。
Spring Boot的自动配置大幅度减少了构建应用所需的显式配置的数量不管是XML配置还是Java配置。实际上当完成本章的样例时我们会有一个可运行的Spring应用该应用只有一行Spring配置代码。
Spring Boot极大地改善了Spring的开发很难想象在没有它的情况下如何开发Spring应用。因此本书会将Spring和Spring Boot当成一回事。我们会尽可能多地使用Spring Boot只有在必要的时候才使用显式配置。因为Spring XML配置是一种过时的方式所以我们主要关注Spring基于Java的配置。
闲言少叙既然本书的名称中包含“实战”这个词那么就开始动手吧下面我们将会编写使用Spring的第一个应用。
Spring经典书籍
Spring实战第6版 本书是一本经典而实用的Spring学习指南介绍了Spring使用框架、Spring Boot以及Spring系统中的其他组成部分。
本书分为4个部分共18章。第1部分第1章第6章涵盖了构建Spring应用的基础知识。第2部分第7章第10章讨论了如何将Spring应用与其他应用进行集成。第3部分第11章第14章探讨了Spring对反应式编程提供的全新支持。第4部分第15章第18章介绍了如何做好应用投入生产环境前的准备工作以及如何进行部署。
本书适合刚刚开始学习Spring Boot和Spring框架的Java开发人员阅读也适合想要超越基础知识并学习Spring新特性的经验丰富的Spring开发者参考。
谁适合阅读本书
本书适合刚刚开始学习Spring Boot和Spring框架的Java开发人员阅读也适合想要超越基础知识并学习Spring新特性的经验丰富的Spring开发者参考。
本书是Spring和Spring Boot指南在第5版基础上进行了升级更新以反映这两项技术所提供的新内容。即便是Spring新手在第1章结束之前也可以启动并运行第一个Spring应用。跟随本书你会学习创建Web应用、处理数据、保证应用安全以及管理应用配置等内容。接下来你会探索将Spring应用与其他应用程序集成的方法以及如何让Spring应用从反应式编程中获益包括使用新的RSocket通信协议。在本书的末尾你会看到如何为生产环境准备我们的应用程序并学习各种部署方案。
无论你是第一次接触Spring还是有多年的Spring开发经验这本书都会带你开展一段精彩旅程。我为你感到兴奋也很荣幸能为你编写这份指南。我期待你使用Spring创造出精彩的应用