spring boot创建一个应用
Spring Boot官方文檔有中文翻譯版:
https://github.com/qibaoguang/Spring-Boot-Reference-Guide
要實(shí)現(xiàn)一個(gè)spring boot開(kāi)發(fā)環(huán)境和傳統(tǒng)的應(yīng)用沒(méi)有區(qū)別,這里用的是:
IDE:myeclipse 10
JDK:jdk1.7
WINDOWS:mvn 3
在桌面windows環(huán)境里需要單獨(dú)安裝方便我們使用命令行進(jìn)行打包和操作。Eclipse環(huán)境里也需要安裝mvn插件,當(dāng)然如果使用的是myeclipse,那么自帶的mvn環(huán)境就足夠了。以下是建立spring boot helloworld應(yīng)用的步驟。注意這是一個(gè)web應(yīng)用,使用了嵌入式的tomcat。
1)? 首選建立一個(gè)最簡(jiǎn)單的maven工程,如下圖:
?
這個(gè)應(yīng)用只有一個(gè)類(lèi),編寫(xiě)代碼如下:
| 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相當(dāng)于@Configuration、@EnableAutoConfiguration和? @ComponentScan,你也可以同時(shí)使用這3個(gè)注解。其中@Configuration、@ComponentScan是spring框架的語(yǔ)法,在spring 3.x就有了,用于代碼方式創(chuàng)建配置信息和掃描包。@EnableAutoConfiguration是spring boot語(yǔ)法,表示將使用自動(dòng)配置。你如果下載了spring boot源碼,就會(huì)看到spring boot實(shí)現(xiàn)了很多starter應(yīng)用,這些starter就是一些配置信息(有點(diǎn)類(lèi)似于Docker,一組環(huán)境一種應(yīng)用的概念),spring boot看到引入的starter包,就可以計(jì)算如果自動(dòng)配置你的應(yīng)用。
2)? 配置pom.xml
這個(gè)應(yīng)用不需要配置文件,寫(xiě)完class后就可以直接配置pom.xml文件了,當(dāng)然先配置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基本環(huán)境 --> ????<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應(yīng)用基本環(huán)境配置 --> ????????<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文件配置完,你就可以運(yùn)行應(yīng)用了,點(diǎn)擊F11,或者在SampleController類(lèi)右鍵“Run Java Application”就可以看到應(yīng)用啟動(dòng)并運(yùn)行了。
此時(shí)在瀏覽器輸入http://localhost:8080/,你會(huì)看到helloworld字樣,這是一個(gè)web應(yīng)用,使用了嵌入式的tomcat。
???????? 在pom配置中我們僅僅使用了spring-boot-starter-web依賴(lài),spring boot會(huì)根據(jù)此依賴(lài)下載相關(guān)jar包并初始化基本的運(yùn)行環(huán)境,比如說(shuō)綁定端口8080等。
spring boot封裝所有配置信息為鍵值類(lèi)型,你想改變默認(rèn)配置,只需要向應(yīng)用傳入這個(gè)鍵值對(duì)就可以,比如我們想改變綁定端口為8081,那么你在main方法里傳入“—server.port=8081”即可,或者干脆使用:
SpringApplication.run(SampleController.class, "--server.port=8081");
3) 部署spring boot應(yīng)用
要部署運(yùn)行spring boot應(yīng)用,首選要打包spring boot應(yīng)用,你在pom文件中看到的spring-boot-maven-plugin插件就是打包spring boot應(yīng)用的。
進(jìn)入工程目錄運(yùn)行mvn package,如:
D:\cloud-simple-helloword>mvn package
打包過(guò)后就可以進(jìn)入target目錄使用Java原生命令執(zhí)行這個(gè)應(yīng)用了。
D:\cloud-simple-helloword\target>java -jar cloud-simple-helloword-0.0.1.jar --server.port=8081
如此,你就看到一個(gè)基于jar包的web應(yīng)用啟動(dòng)了。
Spring boot提供的一些開(kāi)箱即用的應(yīng)用非常容易使用,比如監(jiān)控,你只需要在pom文件中引入:
<dependency>
??????????? <groupId>org.springframework.boot</groupId>
??????????? <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
??? 引入之后,spring boot是默認(rèn)開(kāi)啟監(jiān)控的,運(yùn)行應(yīng)用你可以在瀏覽器中輸入:
?????????http://localhost:8080/health
就可以看到默認(rèn)的監(jiān)控信息了:
? {"status":"UP","diskSpace":{"status":"UP","total":161067397120,"free":91618398208,"threshold":10485760}}
信息包括程序執(zhí)行狀態(tài)以及基本的磁盤(pán)信息。
總結(jié)
以上是生活随笔為你收集整理的spring boot创建一个应用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: scala通过mkString方法把一个
- 下一篇: Spring Boot引用本地jar包