隨着動態語言的流行(Ruby、Groovy、Scala、Node.js),Java的開發顯得格外的笨重:繁多的配置、低下的開發效率、複雜的部署流程以及第三方技術集成難度大。
在上述環境下,Springboot
應運而生。它使用"習慣優於配置"(項目中存在大量的配置,此外還內置一個習慣性的配置,讓你無須手動進行配置)的理念讓你的項目快速運行起來。使用springboot很容易建立一個獨立運行(運行jar,內嵌servlet容器)、準生產級別的基於Spring框架的項目,使用springboot
你能夠不用或者只須要不多的Spring配置。css
Spring Boot能夠以jar包的形式獨立運行,運行一個Spring Boot項目只須要經過java -jar xx.jar。html
Spring Boot可選擇內嵌Tomcat、Jetty或者Undertow,這樣無須以war包形式部署。java
Spring提供了一系列的starter pom來簡化maven依賴加載,例如:當你使用了spring-boot-starter-web時,會自動加入相關依賴,無需你手動一個一個的添加座標依賴。git
Spring Boot會根據在類路徑中的jar包、類,爲jar包裏的類自動配置Bean,這樣會極大地減小咱們要使用的配置。固然,Spring Boot只是考慮了大多數的開發場景,並非全部場景,若在實際開發中,咱們須要自動配置bean,而Spring Boot沒有提供支持,則能夠自定義自動配置。github
Spring Boot的神奇的不是藉助於代碼生成來實現的,而是經過條件註解來實現的,這是Spring 4.x提供的新特性,Spring 4.x提倡使用java配置和註解配置相結合,而Spring Boot不須要任何xml配置便可實現Sping Boot的全部配置。web
soringCloud
時,會結合pinpoint和skywalking分佈式鏈路工具進行應用監控)使用的工具爲:
Spring Tool Suite(3.9.3.RELEASE)
SpringBoot:1.5.14.RELEASEspring
Spring Tool Suite 下載地址:https://spring.io/tools/sts/allapache
利用**
Spring Initializr
**進行快速建立項目json
Dashboard
-->CREATE SPRING STARTER PROJECT
進行建立項目,或者能夠選擇file
-->new
-->Spring Starter Project
,打開建立面板第一種方式: bootstrap
第二種方式:
這裏url建議直接填寫:
https://start.spring.io
(默認是http方式)
maven相關命名說明
Group
:通常爲逆向域名格式,如本博客域名爲lqdev.cn
,則group通常以cn.lqdev
開頭Artifact
:惟一標識,通常爲項目名稱。 具體maven相關信息,可自行搜索,這裏只簡單闡述除此下載包時,可能會比較慢,建議替換成阿里雲的maven鏡像
- src -main -java -cn.lqdev.learning.springboot.chapter1 #主函數,啓動類,運行它若是運行了 Tomcat、Jetty、Undertow 等容器 -Chapter1Application -resouces #存放靜態資源 js/css/images 等 - statics #存放 html 模板文件 - templates #主要的配置文件,SpringBoot啓動時候會自動加載application.properties/bootstrap.properties - application.properties #測試文件存放目錄 -test # pom.xml 文件是Maven構建的基礎,裏面包含了咱們所依賴JAR和Plugin的信息 - pom
因爲使用了
Spring Initializr
直接建立項目,相關依賴自動添加好了。
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>cn.lqdev.learning</groupId> <artifactId>springboot-chapter1</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>chapter-1</name> <description>Spring Boot | 第一章:第一個Springboot應用</description> <!-- Springboot的版本,你們選擇時,應該選擇 RELEASE 版本 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.14.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <!-- 內嵌了tomcat服務器,開發簡單的web應用,此依賴便可 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- 測試包 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
/** * 啓動類 * @author oKong * */ @SpringBootApplication public class Chapter1Application { public static void main(String[] args) { SpringApplication.run(Chapter1Application.class, args); } }
/** * 第一個springboot應用 * @author oKong * */ //@RestController = @Controller + @ResponseBody 默認直接返回json @RestController public class DemoController { @RequestMapping(value = "/demo", method = RequestMethod.GET) public String demo() { return "hello,SpringBoot!"; } }
直接
Chapter1Application
,右鍵run as
-->Spring Boot App
便可。
看見如下提示,說明啓動成功:
2018-07-11 22:47:38.170 INFO 15396 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
簡單說明
127.0.0.1:8080/demo
便可查看。application.properties
設置如下屬性:# 端口號 server.port=8888 # 應用上下文路徑 server.context-path=/chapter1
訪問:http://127.0.0.1:8888/chapter1/demo
自此,一個簡單的SpringBoot
就開發完成了。比起原來的springmvc
時的開發效率,簡直是一個質的飛躍,無需再煩擾煩人的xml配置文件了。終於能夠快樂的擼代碼了~
目前互聯網上不少大佬都有
springboot
系列教程,若有雷同,請多多包涵了。本文是做者在電腦前一字一句敲的,每一步都是親身實際過的。若文中有所錯誤之處,還望提出,謝謝。
499452441
lqdevOps
源碼完整實例:chapter-1
本文地址:https://blog.lqdev.cn/2018/07/11/springboot/chapter-one/