《7天學會spring cloud》第一天,熟悉spring boot,並使用spring boot建立一個應用。html
Spring Boot是Spring團隊推出的新框架,它所使用的核心技術仍是Spring框架,主要是Spring 4.x,因此若是熟悉spring 4的人,可以更快的接受和學會這個框架。Spring boot能夠看作是在spring框架基礎上再包了一層,這一層包含方便開發者進行配置管理和快速開發的模塊,以及提供了一些開箱即用的工具,好比監控等。java
Spring Boot官方文檔有中文翻譯版:git
https://github.com/qibaoguang/Spring-Boot-Reference-Guidegithub
要實現一個spring boot開發環境和傳統的應用沒有區別,這裏用的是:web
IDE:myeclipse 10spring
JDK:jdk1.7docker
WINDOWS:mvn 3apache
在桌面windows環境裏須要單獨安裝方便咱們使用命令行進行打包和操做。Eclipse環境裏也須要安裝mvn插件,固然若是使用的是myeclipse,那麼自帶的mvn環境就足夠了。如下是創建spring boot helloworld應用的步驟。注意這是一個web應用,使用了嵌入式的tomcat。windows
1) 首選創建一個最簡單的maven工程,以下圖:瀏覽器
這個應用只有一個類,編寫代碼以下:
package cloud.simple.hello; import org.springframework.boot.*; import org.springframework.boot.autoconfigure.*; import org.springframework.stereotype.*; import org.springframework.web.bind.annotation.*; @Controller @SpringBootApplication public class SampleController { @ResponseBody @RequestMapping(value = "/") String home() { return "Hello World!"; } public static void main(String[] args) throws Exception { SpringApplication.run(SampleController.class, args); } }
@SpringBootApplication至關於@Configuration、@EnableAutoConfiguration和 @ComponentScan,你也能夠同時使用這3個註解。其中@Configuration、@ComponentScan是spring框架的語法,在spring 3.x就有了,用於代碼方式建立配置信息和掃描包。@EnableAutoConfiguration是spring boot語法,表示將使用自動配置。你若是下載了spring boot源碼,就會看到spring boot實現了不少starter應用,這些starter就是一些配置信息(有點相似於docker,一組環境一種應用的概念),spring boot看到引入的starter包,就能夠計算若是自動配置你的應用。
2) 配置pom.xml
這個應用不須要配置文件,寫完class後就能夠直接配置pom.xml文件了,固然先配置pom.xml也同樣。Pom文件配置以下:
<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> <!-- spring boot基本環境 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.3.1.RELEASE</version> </parent> <groupId>spring.boot</groupId> <artifactId>cloud-simple-helloword</artifactId> <version>0.0.1</version> <packaging>jar</packaging> <name>cloud-simple-helloword</name> <dependencies> <!--web應用基本環境配置 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
pom文件配置完,你就能夠運行應用了,點擊F11,或者在SampleController類右鍵「Run Java Application」就能夠看到應用啓動並運行了。
此時在瀏覽器輸入http://localhost:8080/,你會看到helloworld字樣,這是一個web應用,使用了嵌入式的tomcat。
在pom配置中咱們僅僅使用了spring-boot-starter-web依賴,spring boot會根據此依賴下載相關jar包並初始化基本的運行環境,好比說綁定端口8080等。
spring boot封裝全部配置信息爲鍵值類型,你想改變默認配置,只須要嚮應用傳入這個鍵值對就能夠,好比咱們想改變綁定端口爲8081,那麼你在main方法裏傳入「—server.port=8081」便可,或者乾脆使用:
SpringApplication.run(SampleController.class, "--server.port=8081");
3) 部署spring boot應用
要部署運行spring boot應用,首選要打包spring boot應用,你在pom文件中看到的spring-boot-maven-plugin插件就是打包spring boot應用的。
進入工程目錄運行mvn package,如:
D:\cloud-simple-helloword>mvn package
打包事後就能夠進入target目錄使用java原生命令執行這個應用了。
D:\cloud-simple-helloword\target>java -jar cloud-simple-helloword-0.0.1.jar --server.port=8081
如此,你就看到一個基於jar包的web應用啓動了。
Spring boot提供的一些開箱即用的應用很是容易使用,好比監控,你只須要在pom文件中引入:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
引入以後,spring boot是默認開啓監控的,運行應用你能夠在瀏覽器中輸入:
就能夠看到默認的監控信息了:
{"status":"UP","diskSpace":{"status":"UP","total":161067397120,"free":91618398208,"threshold":10485760}}
信息包括程序執行狀態以及基本的磁盤信息。