Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員再也不須要定義樣板化的配置。html
Spring Boot 是全部基於 Spring 開發的項目的起點。Spring Boot 的設計是爲了讓你儘量快的跑起來 Spring 應用程序而且儘量減小你的配置文件java
這是百科上對Spring Boot的說明。實際上在我看來Spring Boot就是Spring等一系列的java技術棧框架的組合加上約定大於配置的思想。它並非一項新的技術也不是一個新的框架,而是各類技術的一個組合,它默認配置了不少框架的使用方式。它的出現,極大的提升了java應用的開發效率。其特性就是輕量級、可插拔、微服務。同時idea和spring boot的出現也顛覆了我一個.net程序員曾經對java的認知(我是.net出身的程序員,對於java最大的印象就是「配置」、「配置」、「配置」和難用的一筆的IDE)。原來Java項目開發也能夠變得優雅起來!git
在仍是SSM(SSH)的時代搭建一個Web項目大概須要如下幾步程序員
新建項目github
配置Web.xml,加載Spring和Spring Mvcweb
配置數據庫鏈接、配置Spring事務,配置mybatisspring
配置加載配置文件的讀取,開啓註解數據庫
配置日誌文件apache
配置完成後部署Tomcat調試json
...
一堆的配置,看得人頭大,也讓不少初學者望而卻步。
而有了Spring Boot,一切將會簡單而優雅。
本文將從Hello World作起,搭建一個簡單的Spring Boot Web項目。
File——New——Project(Moudle)
注意: 圖中的https://start.spring.io/,也能夠直接打開,在網站上直接生成項目下載,用idea打開也是同樣的。
至此,一個Spring Boot項目就建立完成。
->spring-boot-web (項目或模塊) ---> src ----->main ------->java (Java代碼目錄) --------->spring.boot.web (包spring.boot.web) ----------->SpringBootWebApplication (Spring Boot啓動類) ------->resources --------->static (靜態資源目錄) --------->templates (視圖模板目錄) --------->application.properties (項目配置文件) ------->test (測試) --------->java ----------->spring.boot.web ----------->SpringBootWebApplicationTests (Spring Boot測試啓動類) --->pom.xml (maven pom配置文件)
pom.xml,它是maven來管理各類jar包依賴的一個配置文件,maven至關於.net中的nuget,是一個包管理工具。咱們能夠看到項目搭建好以後,就默認爲咱們加上了下面這些配置。
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <!--父節點配置了Spring Boot的一些信息,父節點表明子節點能夠繼承父節點的一些配置,如版本號,在這裏配置了就不用在子節點配置了--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.8.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <!--項目信息--> <groupId>spring.boot.examples</groupId> <artifactId>spring-boot-web</artifactId> <version>0.0.1-SNAPSHOT</version> <name>spring-boot-web</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <!--依賴的包配置在下面這個節點--> <dependencies> <!--引入Spring Boot Web模塊--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--引入Spring Boot 測試模塊--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <!--Spring Boot Maven 插件--> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
package spring.boot.web; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class SpringBootWebApplication { public static void main(String[] args) { SpringApplication.run(SpringBootWebApplication.class, args); } }
啓動類是Spring Boot程序的入口。
新建控制器
咱們在spring.boot.web下建一個controller包,包內新建HelloWorld類
package spring.boot.web.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloWorld { @RequestMapping("/helloWorld") public String Hello() { return "Hello World!"; } }
這裏有兩個註解:
@RestController
的意思就是controller裏面的方法都以json格式輸出,不用再寫什麼jackjson配置的了!
@RequestMapping
配置Url映射
啓動Spring Boot項目
因爲Spring Boot項目內置Tomcat服務器,咱們不須要在部署到Tomcat。只須要要在配置文件application.properties裏配置一下端口號,而後idea->run->run。
server.port=8888
以下圖,表明啓動成功!
打開瀏覽器輸入:http://localhost:8888/helloWorld
至此,Hello World項目完成。於Java上,再次體驗到了簡潔優雅的開發!