spring cloud教程之使用spring boot创建一个应用
《7天學會spring cloud》第一天,熟悉spring boot,并使用spring boot創建一個應用。
Spring Boot是Spring團隊推出的新框架,它所使用的核心技術還是Spring框架,主要是Spring 4.x,所以如果熟悉spring 4的人,能夠更快的接受和學會這個框架。Spring boot可以看做是在spring框架基礎上再包了一層,這一層包含方便開發者進行配置管理和快速開發的模塊,以及提供了一些開箱即用的工具,比如監控等。
Spring Boot官方文檔有中文翻譯版:
https://github.com/qibaoguang/Spring-Boot-Reference-Guide
要實現一個spring boot開發環境和傳統的應用沒有區別,這里用的是:
IDE:myeclipse 10
JDK:jdk1.7
WINDOWS:mvn 3
在桌面windows環境里需要單獨安裝方便我們使用命令行進行打包和操作。Eclipse環境里也需要安裝mvn插件,當然如果使用的是myeclipse,那么自帶的mvn環境就足夠了。以下是建立spring boot helloworld應用的步驟。注意這是一個web應用,使用了嵌入式的tomcat。
1)? 首選建立一個最簡單的maven工程,如下圖:
這個應用只有一個類,編寫代碼如下:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | 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文件配置如下:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | <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是默認開啟監控的,運行應用你可以在瀏覽器中輸入:
?????????http://localhost:8080/health
就可以看到默認的監控信息了:
? {"status":"UP","diskSpace":{"status":"UP","total":161067397120,"free":91618398208,"threshold":10485760}}
信息包括程序執行狀態以及基本的磁盤信息。
總結
以上是生活随笔為你收集整理的spring cloud教程之使用spring boot创建一个应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring Boot导出jar包发布
- 下一篇: Spring Cloud构建微服务架构(