搜尋
首頁php教程PHP开发建構微服務:Spring boot 入門篇

建構微服務:Spring boot 入門篇

Nov 22, 2016 pm 01:20 PM
spring boot

什麼是spring boot

Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,使開發人員不再需要定義樣板化的配置。用我的話來理解,就是spring boot其實不是什麼新的框架,它預設配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架(不知道這樣比喻是否合適)。

 

使用spring boot有什麼好處

其實就是簡單、快速、方便!平常如果我們需要搭建一個spring web專案的時候需要怎麼做呢?

1)設定web.xml,載入spring和spring mvc

2)設定資料庫連線、設定spring事務

3)設定載入設定檔的讀取,開啟註解

4)設定檔

.. .

配置完成之後部署tomcat 調試

...

現在非常流行微服務,如果我這個項目僅僅只是需要發送一個郵件,如果我的項目僅僅是生產一個積分;我都需要這樣折騰一遍!

 

但是如果使用spring boot呢?

很簡單,我僅僅只需要非常少的幾個配置就可以迅速方便的搭建起來一套web項目或者是構建一個微服務!

 

快速入門

說了那麼多,手癢癢的很,馬上來一發試試!

 

專案

maven建置

1、造訪http:// 、選擇建置工具Maven Project、Spring Boot版本1.3.6以及一些工程基本信息,點擊「Switch to the full version.」java版本選擇1.7,可參考下圖所示:

建構微服務:Spring boot 入門篇3、點擊Generate Project下載專案壓縮包

4、解壓縮後,使用eclipse,Import -> Existing Maven Projects -> Next ->選擇解壓縮後的資料夾-> Finsh,OK done!

 

專案結構介紹

如上圖所示,Spring Boot的基礎結構共三個檔案:

l src/main/java  程式開發以及主程式入口

建構微服務:Spring boot 入門篇l src/main/resources 設定檔

l src/test/java  測試程式

l src/test/java  測試程式

 

另外,spingboot建議的目錄結果如下:

root package結構:com.example.myproject

com +- example +- myproject +- Application.java | +- domain | +- Customer.java | +- CustomerRepository.java | +- service | +- CustomerService.java | +- controller | +- CustomerController.java |

1、Application.java 建議放到跟目錄設定目錄主要用於實體(Entity)與資料存取層(Repository)

3、service 層主要是業務類別程式碼

4、controller 負責頁面存取控制

 

採用預設配置可以省去很多配置,當然也可以依照自己的喜歡來進行更改

最後,啟動Application main方法,至此一個java專案搭建好了!

 

引入web模組

1、pom.xml中新增支援web的模組:

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
 </dependency>

pom.xml檔案中預設有兩個模組:

spring-boot-starter:核心模組,包含自動配置支援核心、日誌和YAML;

spring-boot-starter-test:測試模組,包括JUnit、Hamcrest、Mockito。

 

2、寫controller內容

@RestController public class HelloWorldController { @RequestMapping("/hello") public String index() { return "Hello World"; } }

@RestController的意思就是controller裡面的方法都以json格式輸出,不用再寫什麼jackjson配置的了!

 

3、啟動主程序,打開瀏覽器訪問http://localhost:8080/hello,就可以看到效果了,有木有很簡單!

 

如何做單元測試

打开的src/test/下的测试入口,编写简单的http请求来测试;使用mockmvc进行,利用MockMvcResultHandlers.print()打印出执行结果。

@RunWith(SpringJUnit4ClassRunner.class) @SpringApplicationConfiguration(classes = MockServletContext.class) @WebAppConfiguration public class HelloWorldControlerTests { private MockMvc mvc; @Before public void setUp() throws Exception { mvc = MockMvcBuilders.standaloneSetup(new HelloWorldController()).build(); } @Test public void getHello() throws Exception { mvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON)) .andExpect(MockMvcResultMatchers.status().isOk()) .andDo(MockMvcResultHandlers.print()) .andReturn(); } }

开发环境的调试

热启动在正常开发项目中已经很常见了吧,虽然平时开发web项目过程中,改动项目启重启总是报错;但springBoot对调试支持很好,修改之后可以实时生效,需要添加以下的配置:

    

        org.springframework.boot

        spring-boot-devtools

        true

   

    

        

            org.springframework.boot

            spring-boot-maven-plugin

            

                true

            

        

   

该模块在完整的打包环境下运行的时候会被禁用。如果你使用java -jar启动应用或者用一个特定的classloader启动,它会认为这是一个“生产环境”。

 

总结

使用spring boot可以非常方便、快速搭建项目,使我们不用关心框架之间的兼容性,适用版本等各种问题,我们想使用任何东西,仅仅添加一个配置就可以,所以使用sping boot非常适合构建微服务。


陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境