玩轉spring boot 快速開始(1)
開發(fā)環(huán)境:
IED環(huán)境:Eclipse
JDK版本:1.8
maven版本:3.3.9
一、創(chuàng)建一個spring boot的mcv web應用程序
打開Eclipse,新建Maven項目
選擇quickstart模板
完成Maven項目的創(chuàng)建
參照spring的官方例子:http://spring.io/guides/gs/testing-web/
在pom.xml增加maven依賴
<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>com.github.carter659</groupId> <artifactId>spring01</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>spring01</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.8</java.version> </properties> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.4.2.RELEASE</version> </parent> <dependencies> <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>
添加一個控制器文件“HomeController.java”
package com.github.carter659.spring01; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @Controller public class HomeController { @RequestMapping("/") public @ResponseBody String index() { return "你好,這是第一個spring boot應用"; } }
修改App.java文件
package com.github.carter659.spring01; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class App { public static void main(String[] args) { SpringApplication.run(App.class, args); } }
在App.java文件處,點擊右鍵Run As運行java程序
當控制臺處顯示運行結果后
在瀏覽器輸入“http://localhost:8080/”網站訪問第一個spring boot的應用
二、我們如何對spring boot做單元測試?
pom.xml中增加單元測試的依賴
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency>
在src/test/java中新建測試類“HttpRequestTest.java”
package com.github.carter659.spring01; import static org.assertj.core.api.Assertions.assertThat; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.context.embedded.LocalServerPort; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; import org.springframework.boot.test.web.client.TestRestTemplate; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT) public class HttpRequestTest { @LocalServerPort private int port; @Autowired private TestRestTemplate restTemplate; @Test public void greetingShouldReturnDefaultMessage() throws Exception { assertThat(this.restTemplate.getForObject("http://localhost:" + port + "/", String.class)).contains("你好,這是第一個spring boot應用"); } }
并運行單元測試
出現(xiàn)綠色表示斷言成功
三、我們怎么部署spring boot?
我們會按照以下這幾個步驟:
1.下載maven
在maven的官方網站下載maven的bin包:http://maven.apache.org/download.cgi
2.配置環(huán)境變量:
我這里是把maven解壓到d盤的Program Files (x86)目錄
在環(huán)境變量中輸入:MAVEN_HOME -->D:\Program Files (x86)\maven
Path中追加:;%MAVEN_HOME%\bin;
在CDM窗口中輸入“mvn -v”命令來測試maven是否安裝成功
這里顯示的是3.3.9版本
3.打包
在程序所在目錄(與pom.xml同級)輸入“mvn package”命令:
出現(xiàn)“BUILD SUCCESS”則表示打包成功
會在tatget目錄下出現(xiàn)打包后的jar文件
4.運行
在CMD中輸入命令“java -jar target/spring01-0.0.1-SNAPSHOT.jar”
這時程序就部署好了,是不是發(fā)現(xiàn)spring boot程序不僅開發(fā)和測試非常簡單,部署也非常容易?
代碼下載:https://github.com/carter659/spring-boot-01.git
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
SpringBoot與Postman實現(xiàn)REST模擬請求的操作
這篇文章主要介紹了SpringBoot與Postman實現(xiàn)REST模擬請求的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06Java在ElasticSearch中使用LocalDatetime類型
最近在開發(fā)一個搜索功能的需求的時候,遇到了LocalDatetime類型不能保存到ElasticSearch中的問題,這篇文章主要介紹了Java在ElasticSearch中使用LocalDatetime類型2023-10-10詳解Java 序列化與反序列化(Serialization)
這篇文章主要介紹了Java 序列化與反序列化(Serialization),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習 吧2019-03-03JVM內存模型/內存空間:運行時數(shù)據(jù)區(qū)
這篇文章主要介紹了JVM內存模型/內存空間的相關資料,幫助大家更好的理解和學習Java虛擬機,感興趣的朋友可以了解詳細,希望能夠給你帶來幫助2021-08-08