springboot官方文檔:https://spring.io/guides/gs/spring-boot/html
springbootGitHub地址:https://github.com/spring-projects/spring-bootjava
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.git
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.github
Our primary goals are:web
Provide a radically faster and widely accessible getting started experience for all Spring developmentspring
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)apache
Absolutely no code generation and no requirement for XML configurationapi
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); } }
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.
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.
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.
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 |
There are a number of modules in Spring Boot, here is a quick overview:
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 Spring ApplicationContext
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 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.
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.
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.
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.
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.
This module contains core items and annotations that can be helpful when testing your application.
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.
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.
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.
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
在項目中包含依賴項便可。
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許可下發行的開源軟件 。
一、依賴版本jdk8以上,springboot2.x用JDK8,由於底層是Sprint framework5二、安裝maven最新版本,maven3.2以上版本,下載地址:https://maven.apache.org/download.cgi 三、SpringBoot2.x的默認Maven依賴版本參考官網地址:https://docs.spring.io/spring-boot/docs/2.1.0.BUILD-SNAPSHOT/reference/htmlsingle/#appendix-dependency-versions