摘要:本文以一個簡單的接口根據(jù)用戶工號獲取用戶信息為例,介紹的使用。創(chuàng)建工程打開生成一個標準工程因為需要支持需要輸入,提供對的支持。創(chuàng)建項目選擇支持將壓縮包中目錄覆蓋項目目錄將項目替換為壓縮包中的文件。
背景
想想,微服務這概念在當初剛從業(yè)時就聽過,那時也只是停留在概念上,缺少技術支撐,或者說沒有公認完美的技術支撐。docker的出現(xiàn),給微服務提供了平臺支持,spring cloud的出現(xiàn)給微服務提供全家桶式的解決方案,幾乎成了微服務的代名詞。
微服務需要解決的問題太多太多,既然spring cloud號稱是一站式的解決方案,對微服務中碰到的問題都提供相應的解決方案,因此spring cloud有品目繁多的項目,截止到目前,官網(wǎng)上列的就有24個項目,每個項目都用于解決特定的問題。
其中spring boot應該是最核心的一個組件,用于具體業(yè)務邏輯的實現(xiàn) 。本文以一個簡單的接口根據(jù)用戶工號獲取用戶信息為例,介紹spring boot的使用。
打開https://start.spring.io/生成一個標準spring boot工程. 因為需要restful支持,Dependencies需要輸入Web,提供對web的支持。
創(chuàng)建IntelliJ IDEA項目,選擇支持Maven.
將壓縮包中src目錄覆蓋項目src目錄
將項目pom.xml替換為壓縮包中的pom.xml文件。
在pom.xml文件上右鍵選擇Maven->Reimport導入相應的jar包。
目錄結構
. ├── ./pom.xml ├── ./springboot.iml └── ./src ├── ./src/main │?? ├── ./src/main/java │?? │?? └── ./src/main/java/yaya │?? │?? └── ./src/main/java/yaya/demo │?? │?? └── ./src/main/java/yaya/demo/springboot │?? │?? └── ./src/main/java/yaya/demo/springboot/SpringbootApplication.java │?? └── ./src/main/resources │?? ├── ./src/main/resources/application.properties │?? ├── ./src/main/resources/static │?? └── ./src/main/resources/templates └── ./src/test └── ./src/test/java └── ./src/test/java/yaya └── ./src/test/java/yaya/demo └── ./src/test/java/yaya/demo/springboot └── ./src/test/java/yaya/demo/springboot/SpringbootApplicationTests.java
pom.xml
創(chuàng)建controller4.0.0 yaya.demo springboot 0.0.1-SNAPSHOT jar springboot Demo project for Spring Boot org.springframework.boot spring-boot-starter-parent 2.0.4.RELEASE UTF-8 UTF-8 1.8 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test org.springframework.boot spring-boot-maven-plugin
package yaya.demo.springboot.pojos; /** * @Description: * @author: jianfeng.zheng * @since: 2018/8/14 下午7:48 * @history: 1.2018/8/14 created by jianfeng.zheng */ public class User { private String username; private String uid; private String email; //...getter and setter }
package yaya.demo.springboot.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import yaya.demo.springboot.pojos.User; /** * @Description: * @author: jianfeng.zheng * @since: 2018/8/14 下午7:45 * @history: 1.2018/8/14 created by jianfeng.zheng */ @RestController public class UserController { @RequestMapping(value = "/user",method = RequestMethod.GET) public User getUserInfo(@RequestParam(name = "uid")String uid){ User user=new User(); user.setEmail("jianfeng.zheng@definesys.com"); user.setUsername("jianfeng.zheng"); user.setUid(uid); return user; } }
# curl http://localhost:8080/user?uid=004 {"username":"jianfeng.zheng","uid":"004","email":"jianfeng.zheng@definesys.com"}單元測試
package yaya.demo.springboot; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.web.WebAppConfiguration; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; import org.springframework.test.web.servlet.setup.MockMvcBuilders; import yaya.demo.springboot.controller.UserController; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; @RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest() @WebAppConfiguration public class SpringbootApplicationTests { private MockMvc mvc; @Before public void init() { mvc = MockMvcBuilders.standaloneSetup(new UserController()).build(); } @Test public void getUserInfo() throws Exception { mvc.perform((MockMvcRequestBuilders.get("/user") .param("uid", "004"))) .andDo(print()) .andExpect(status().isOk()); } }打包運行
在工程目錄下執(zhí)行命令mvn -Dmaven.test.skip=true install
運行target文件夾下生成可運行jar包.
java -jar springboot-0.0.1-SNAPSHOT.jar
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/76737.html
摘要:構建服務接口創(chuàng)建一個簡單的項目,并在下面定義一個抽象接口,比如構建服務接口提供方第一步創(chuàng)建一個項目,在中引入第一步中構建的包以及對和的依賴,比如第一步中構建的包這里需要注意兩點必須包含包,不然啟動會報錯。 很早以前,在剛開始搞Spring Cloud基礎教程的時候,寫過這樣一篇文章:《微服務架構的基礎框架選擇:Spring Cloud還是Dubbo?》,可能不少讀者也都看過。之后也就一...
摘要:創(chuàng)建統(tǒng)一服務項目可以使用來初始化項目,選擇自己的以來就好。動態(tài)刷新配置目前如果我們修改了上的配置并不能馬上生效,需要我們的客戶端工程重啟才行,現(xiàn)在需要改造成自動刷新。 一直使用springboot搭建后端項目,所有的配置都寫到自己的resource目錄下,隨著微服務的項目越來越多,每個項目都需要自己的各種配置文件。而且后期一旦想要修改配置文件,就得重新發(fā)布一遍非常的麻煩,現(xiàn)在就來教教大...
摘要:英文命名方式也比較有意思,采用了英國倫敦地鐵站的名稱來命名,并由地鐵站名稱字母依次類推的形式來發(fā)布迭代版本。 好久沒有研究 Spring Cloud 了,也沒有關注它的更新及新特性,上官網(wǎng)看了下,又增加了幾個版本,有正式版有預覽版,多達 6 個版本,實在讓人蒙逼。 而我們的項目版本還儀停留在 Dalston SR1 版本。 Spring Cloud 的多版本 showImg(https...
摘要:筆者也是初學者,本文從創(chuàng)建項目工程開始,一步一步開始講解如何創(chuàng)建服務端和客戶端,一起學習,共同進步。下面我們使用工具創(chuàng)建相關項目。配置其中兩個屬性表明這個應用是端,而不是端。至此,端和端已經(jīng)部署成功。 前言 spring cloud為互聯(lián)企業(yè)構建微服務提供了一整套的技術組件,其中Eureka是Spring Cloud體系中的核心。Netfix不是一個技術概念,它原本是國外一個視頻網(wǎng)站的...
摘要:搭建基礎服務消費者,去上生成基本的項目骨架,選取需要的包會自動添加到,填寫,分別生成,和兩個骨架用導入項目,在下新建目錄和文件如下,實體可以自己寫建個的表對應即可,可以用或者,這里用文件如下這是的實體文件又添加了,和 ????搭建Spring cloud 基礎服務消費者demo,去spring initializr 上生成基本的Spring boot項目骨架,選取需要的包會自動添加到p...
閱讀 1367·2021-09-02 10:19
閱讀 1108·2019-08-26 13:25
閱讀 2118·2019-08-26 11:37
閱讀 2422·2019-08-26 10:18
閱讀 2684·2019-08-23 16:43
閱讀 3013·2019-08-23 16:25
閱讀 785·2019-08-23 15:53
閱讀 3306·2019-08-23 15:11