您现在的位置是:首页 > 文章详情

Spring boot初识

日期:2018-08-30点击:355

最近在看《Spring Boot实战》,对书中内容做了一些笔记,在此分享给大家。

Spring Boot 精要

Spring Boot将很多魔法带入了Spring应用程序的开发之中,其中最重要的是以下四个核心。

  • 自动配置:针对很多Spring应用程序常见的应用功能,Spring Boot能自动提供相关配置。
  • 起步依赖:告诉Spring Boot需要什么功能,它就能引入需要的库。
  • 命令行界面:这是Spring Boot的可选特性,借此你只需写代码就能完成完整的应用程序,无需传统项目构建。
  • Actuator:让你能够深入运行中的Spring Boot应用程序,一探究竟。

每一个特性都在通过自己的方式简化Spring应用程序的开发,先简单看看它们都提供了哪些功能吧。

自动配置

在任何Spring应用程序的源代码里,你都会找到Java配置或XML配置(抑或两者皆有) ,它们为应用程序开启了特定的特性和功能。Spring Boot会为这些常见配置场景进行自动配置。它有大把的办法帮你减轻配置负担,这些自动配置涉及Java持久化API(Java Persistence API,JPA) 、Thymeleaf模板、安全和Spring MVC等。

起步依赖

向项目中添加依赖是件富有挑战的事。你需要什么库?它的Group和Artifact是什么?你需要哪个版本?哪个版本不会和项目中的其他依赖发生冲突?

Spring Boot通过起步依赖为项目的依赖管理提供帮助。起步依赖其实就是特殊的Maven依赖和Gradle依赖,利用了传递依赖解析,把常用库聚合在一起,组成了几个为特定功能而定制的依赖。

如果要做Spring Web开发,我们要加入很多依赖,如果利用Spring Boot的起步依赖,你只需添加Spring Boot的Web起步依赖(org.springframework.boot:spring-boot-starter-web)仅此一个。它会根据依赖传递把其他所需依赖引入项目里,你都不用考虑它们。

比起减少依赖数量,起步依赖还引入了一些微妙的变化。向项目中添加了Web起步依赖,实际上指定了应用程序所需的一类功能。简而言之,你不再需要考虑支持某种功能要用什么库了,引入相关起步依赖就行。而且Spring Boot的起步依赖还把你从“需要这些库的哪些版本”这个问题里解放了出来。起步依赖引入的库的版本都是经过测试的,因此你可以完全放心,它们之间不会出现不兼容的情况。

命令行界面

除了自动配置和起步依赖,Spring Boot还提供了一种很有意思的新方法,可以快速开发Spring应用程序——Spring Boot CLI,让只写代码即可实现应用程序成为可能。 Spring Boot CLI利用了起步依赖和自动配置,让你专注于代码本身。不仅如此,CLI如何知道RequestMapping和RestController来自哪个包,说得简单一点,CLI能检测到你使用了哪些类,它知道要向Classpath中添加哪些起步依赖才

能让它运转起来。一旦那些依赖出现在Classpath中,一系列自动配置就会接踵而来,确保启用

DispatcherServlet和Spring MVC,这样控制器就能响应HTTP请求了。

Spring Boot CLI是Spring Boot的非必要组成部分。虽然它为Spring带来了惊人的力量,大大简化了开发,但也引入了一套不太常规的开发模型。要是这种开发模型与你的口味相去甚远,那也没关系,抛开CLI,你还是可以利用Spring Boot提供的其他东西。

Actuator

Spring Boot的最后一块“拼图”是Actuator,其他几个部分旨在简化Spring开发,而Actuator则要提供在运行时检视应用程序内部情况的能力。安装了Actuator就能窥探应用程序的内部情况了,包括如下细节:

  • Spring应用程序上下文里配置的Bean
  • Spring Boot的自动配置做的决策
  • 应用程序取到的环境变量、系统属性、配置属性和命令行参数
  • 应用程序里线程的当前状态
  • 应用程序最近处理过的HTTP请求的追踪情况
  • 各种和内存用量、垃圾回收、Web请求以及数据源用量相关的指标

Actuator通过Web端点和shell界面向外界提供信息。如果要借助shell界面,你可以打开SSH

(Secure Shell) ,登入运行中的应用程序,发送指令查看它的情况。

原文链接:https://yq.aliyun.com/articles/680387
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章