spring-boot2.0 简介(1)
springboot官方文档:https://spring.io/guides/gs/spring-boot/
springbootGitHub地址:https://github.com/spring-projects/spring-boot
Spring Boot
Spring Boot makes it easy to create Spring-powered, production-grade applications and services with absolute minimum fuss. It takes an opinionated view of the Spring platform so that new and existing users can quickly get to the bits they need.
You can use Spring Boot to create stand-alone Java applications that can be started using java -jar
or more traditional WAR deployments. We also provide a command line tool that runs spring scripts.
Our primary goals are:
-
Provide a radically faster and widely accessible getting started experience for all Spring development
-
Be opinionated out of the box, but get out of the way quickly as requirements start to diverge from the defaults
-
Provide a range of non-functional features that are common to large classes of projects (e.g. embedded servers, security, metrics, health checks, externalized configuration)
-
Absolutely no code generation and no requirement for XML configuration
Installation and Getting Started
The reference documentation includes detailed installation instructions as well as a comprehensive getting started
guide.
Here is a quick teaser of a complete Spring Boot application in Java:
import org.springframework.boot.*; import org.springframework.boot.autoconfigure.*; import org.springframework.web.bind.annotation.*; @RestController @SpringBootApplication public class Example { @RequestMapping("/") String home() { return "Hello World!"; } public static void main(String[] args) { SpringApplication.run(Example.class, args); } }
Getting help
Having trouble with Spring Boot? We’d like to help!
-
Check the reference documentation, especially the How-to’s — they provide solutions to the most common questions.
-
Learn the Spring basics — Spring Boot builds on many other Spring projects, check the spring.io web-site for a wealth of reference documentation. If you are just starting out with Spring, try one of the guides.
-
If you are upgrading, read the release notes for upgrade instructions and "new and noteworthy" features.
-
Ask a question - we monitor stackoverflow.com for questions tagged with
spring-boot
. You can also chat with the community on Gitter. -
Report bugs with Spring Boot at github.com/spring-projects/spring-boot/issues.
Reporting Issues
Spring Boot uses GitHub’s integrated issue tracking system to record bugs and feature requests. If you want to raise an issue, please follow the recommendations below:
-
Before you log a bug, please search the issue tracker to see if someone has already reported the problem.
-
If the issue doesn’t already exist, create a new issue.
-
Please provide as much information as possible with the issue report, we like to know the version of Spring Boot that you are using, as well as your Operating System and JVM version.
-
If you need to paste code, or include a stack trace use Markdown ``` escapes before and after your text.
-
If possible try to create a test-case or project that replicates the problem and attach it to the issue.
Building from Source
You don’t need to build from source to use Spring Boot (binaries in repo.spring.io), but if you want to try out the latest and greatest, Spring Boot can be easily built with the maven wrapper. You also need JDK 1.8.
$ ./mvnw clean install
If you want to build with the regular mvn
command, you will need Maven v3.5.0 or above.
Note
|
You may need to increase the amount of memory available to Maven by setting a MAVEN_OPTS environment variable with the value -Xmx512m . Remember to set the corresponding property in your IDE as well if you are building and running tests there (e.g. in Eclipse go to Preferences→Java→Installed JREs and edit the JRE definition so that all processes are launched with those arguments). This property is automatically set if you use the maven wrapper. |
Also see CONTRIBUTING.adoc if you wish to submit pull requests, and in particular please fill out the Contributor’s Agreement before your first change, however trivial.
Building reference documentation
First of all, make sure you have built the project:
$ ./mvnw clean install
The reference documentation requires the documentation of the Maven plugin to be available so you need to build that first since it’s not generated by default.
$ ./mvnw clean install -pl spring-boot-project/spring-boot-tools/spring-boot-maven-plugin -Pdefault,full
The documentation also includes auto-generated information about the starters. You might have that in your local repository already (per the first step) but if you want to refresh it:
$ ./mvnw clean install -f spring-boot-project/spring-boot-starters
Once this is done, you can build the reference documentation with the command below:
$ ./mvnw clean prepare-package -pl spring-boot-project/spring-boot-docs -Pdefault,full
Tip
|
The generated documentation is available from spring-boot-project/spring-boot-docs/target/generated-docs/reference/html |
Modules
There are a number of modules in Spring Boot, here is a quick overview:
spring-boot
The main library providing features that support the other parts of Spring Boot, these include:
-
The
SpringApplication
class, providing static convenience methods that make it easy to write a stand-alone Spring Application. Its sole job is to create and refresh an appropriate SpringApplicationContext
-
Embedded web applications with a choice of container (Tomcat, Jetty or Undertow)
-
First class externalized configuration support
-
Convenience
ApplicationContext
initializers, including support for sensible logging defaults
spring-boot-autoconfigure
Spring Boot can configure large parts of common applications based on the content of their classpath. A single @EnableAutoConfiguration
annotation triggers auto-configuration of the Spring context.
Auto-configuration attempts to deduce which beans a user might need. For example, if HSQLDB
is on the classpath, and the user has not configured any database connections, then they probably want an in-memory database to be defined. Auto-configuration will always back away as the user starts to define their own beans.
spring-boot-starters
Starters are a set of convenient dependency descriptors that you can include in your application. You get a one-stop-shop for all the Spring and related technology that you need without having to hunt through sample code and copy paste loads of dependency descriptors. For example, if you want to get started using Spring and JPA for database access just include the spring-boot-starter-data-jpa
dependency in your project, and you are good to go.
spring-boot-cli
The Spring command line application compiles and runs Groovy source, making it super easy to write the absolute minimum of code to get an application running. Spring CLI can also watch files, automatically recompiling and restarting when they change.
spring-boot-actuator
Actuator endpoints let you monitor and interact with your application. Spring Boot Actuator provides the infrastructure required for actuator endpoints. It contains annotation support for actuator endpoints. Out of the box, this module provides a number of endpoints including the HealthEndpoint
, EnvironmentEndpoint
, BeansEndpoint
and many more.
spring-boot-actuator-autoconfigure
This provides auto-configuration for actuator endpoints based on the content of the classpath and a set of properties. For instance, if Micrometer is on the classpath, it will auto-configure the MetricsEndpoint
. It contains configuration to expose endpoints over HTTP or JMX. Just like Spring Boot AutoConfigure, this will back away as the user starts to define their own beans.
spring-boot-test
This module contains core items and annotations that can be helpful when testing your application.
spring-boot-test-autoconfigure
Like other Spring Boot auto-configuration modules, spring-boot-test-autoconfigure, provides auto-configuration for tests based on the classpath. It includes a number of annotations that can be used to automatically configure a slice of your application that needs to be tested.
Samples
Groovy samples for use with the command line application are available in spring-boot-cli/samples. To run the CLI samples type spring run <sample>.groovy
from samples directory.
Guides
The spring.io site contains several guides that show how to use Spring Boot step-by-step:
-
Building an Application with Spring Boot is a very basic guide that shows you how to create a simple application, run it and add some management services.
-
Building a RESTful Web Service with Spring Boot Actuator is a guide to creating a REST web service and also shows how the server can be configured.
-
Converting a Spring Boot JAR Application to a WAR shows you how to run applications in a web server as a WAR file.
License
Spring Boot is Open Source software released under the Apache 2.0 license.
翻译网页参考
春季靴
Spring Boot使创建具有Spring动力的生产级应用程序和服务变得非常容易,而引起的麻烦却很小。它从Spring平台的角度出发,以便新老用户都能快速找到所需的信息。
您可以使用Spring Boot创建独立的Java应用程序,可以使用java -jar
或更传统的WAR部署启动该应用程序 。我们还提供了运行Spring脚本的命令行工具。
我们的主要目标是:
-
为所有Spring开发提供根本上更快且可广泛访问的入门经验
-
开箱即用,但随着需求开始偏离默认值而迅速摆脱困境
-
提供一系列大型项目共有的非功能性功能(例如,嵌入式服务器,安全性,指标,运行状况检查,外部化配置)
-
完全没有代码生成,也不需要XML配置
安装和入门
该参考文档包括详细 的安装说明以及全面的 getting started
指导。
这是Java完整Spring Boot应用程序的快速摘要:
import org.springframework.boot.*; import org.springframework.boot.autoconfigure.*; import org.springframework.web.bind.annotation.*; @RestController @SpringBootApplication public class Example { @RequestMapping("/") String home() { return "Hello World!"; } public static void main(String[] args) { SpringApplication.run(Example.class, args); } }
获得帮助
Spring Boot遇到问题了吗?我们想提供帮助!
-
了解Spring基础知识-Spring Boot建立在许多其他Spring项目上,请访问spring.io网站以获取大量参考文档。如果您只是从Spring开始,请尝试其中的指南之一。
-
如果要升级,请阅读发行说明以获取升级说明和“新的和值得注意的”功能。
-
提出一个问题-我们监视stackoverflow.com中是否有标有的问题
spring-boot
。您也可以在Gitter上与社区聊天。 -
在github.com/spring-projects/spring-boot/issues上报告Spring Boot的错误。
从源头建造
您不需要从源代码构建就可以使用Spring Boot(repo.spring.io中的二进制文件 ),但是如果您想尝试最新的和最大的版本,可以使用maven包装器轻松构建Spring Boot 。您还需要JDK 1.8。
如果要使用常规mvn
命令进行构建,则需要 Maven v3.5.0或更高版本。
注意
|
您可能需要通过将MAVEN_OPTS 环境变量设置为值来增加Maven可用的内存量-Xmx512m 。如果要在其中构建和运行测试,请记住还要在IDE中设置相应的属性(例如,在Eclipse中,转到Preferences→Java→Installed JREs 并编辑JRE定义,以便使用这些参数启动所有进程)。如果使用Maven包装器,则会自动设置此属性。 |
如果您希望提交拉取请求,也请参见CONTRIBUTING.adoc,尤其是 在您第一次更改之前,请先填写“ 贡献者协议”,无论多么琐碎。
建筑参考文件
首先,请确保您已经构建了项目:
参考文档需要Maven插件的文档可用,因此您需要首先构建它,因为默认情况下不会生成它。
该文档还包括有关启动器的自动生成的信息。您可能已经将其存储在本地存储库中(第一步),但是如果要刷新它:
完成此操作后,您可以使用以下命令构建参考文档:
小费
|
可以从以下位置获得生成的文档 spring-boot-project/spring-boot-docs/target/generated-docs/reference/html |
模组
Spring Boot中有许多模块,这是一个快速的概述:
弹簧靴
主库提供了支持Spring Boot其他部分的功能,其中包括:
-
在
SpringApplication
类,提供静态便捷方法,可以很容易写一个独立的Spring应用程序。它的唯一工作是创建和刷新适当的SpringApplicationContext
-
嵌入式Web应用程序,可选择容器(Tomcat,Jetty或Undertow)
-
一流的外部化配置支持
-
便利的
ApplicationContext
初始化程序,包括对明智的日志记录默认值的支持
弹簧启动自动配置
Spring Boot可以根据类应用程序的类路径的内容来配置它们。单个@EnableAutoConfiguration
注释触发Spring上下文的自动配置。
自动配置会尝试推断用户可能需要哪些bean。例如,如果 HSQLDB
在类路径上,并且用户尚未配置任何数据库连接,则他们可能希望定义内存数据库。当用户开始定义自己的bean时,自动配置将始终消失。
弹簧启动启动器
入门程序是一组便捷的依赖项描述符,您可以在应用程序中包括它们。您可以一站式购买所有所需的Spring和相关技术,而不必遍历示例代码并复制依赖项描述符的粘贴负载。例如,如果您想开始使用Spring和JPA进行数据库访问,只需spring-boot-starter-data-jpa
在项目中包含依赖项即可。
春天引导cli
Spring命令行应用程序可以编译并运行Groovy源代码,这使得编写绝对的最少代码以使应用程序运行变得非常容易。Spring CLI还可以监视文件,并在文件更改时自动重新编译和重新启动。
弹簧启动执行器
执行器端点使您可以监视应用程序并与之交互。Spring Boot Actuator提供了执行器端点所需的基础架构。它包含对执行器端点的注释支持。开箱,该模块提供了许多端点包括HealthEndpoint
,EnvironmentEndpoint
,BeansEndpoint
等等。
弹簧启动执行器自动配置
这将基于类路径的内容和一组属性为执行器端点提供自动配置。例如,如果Micrometer在类路径上,它将自动配置MetricsEndpoint
。它包含用于通过HTTP或JMX公开端点的配置。就像Spring Boot AutoConfigure一样,这将在用户开始定义自己的bean时消失。
弹簧启动测试自动配置
像其他Spring Boot自动配置模块一样,spring-boot-test-autoconfigure为基于类路径的测试提供自动配置。它包含许多批注,可用于自动配置需要测试的应用程序片段。
样品
spring-boot-cli / samples中提供了与命令行应用程序一起使用的Groovy 示例。要运行CLI示例,请spring run <sample>.groovy
从示例目录键入 。
导游
该spring.io网站包含一些指南,说明如何使用Spring引导一步一步:
-
使用Spring Boot构建应用程序是非常基本的指南,向您展示如何创建一个简单的应用程序,运行该应用程序并添加一些管理服务。
-
使用Spring Boot Actuator构建RESTful Web服务是创建REST Web服务的指南,还显示了如何配置服务器。
-
将Spring Boot JAR应用程序转换为WAR,将向您展示如何在Web服务器中以WAR文件的形式运行应用程序。
执照
Spring Boot是在Apache 2.0许可下发行的开源软件 。
注意:
1、依赖版本jdk8以上,springboot2.x用JDK8,因为底层是Sprint framework5
2、安装maven最新版本,maven3.2以上版本,下载地址:https://maven.apache.org/download.cgi
3、SpringBoot文件配置详细请参考官网地址:点击查看