2019-04-04 13:10:41 2114瀏覽
今天扣丁學(xué)堂Java培訓(xùn)老師給大家分享一篇老司機(jī)帶你5分鐘快速上手SpringBoot的詳細(xì)介紹,首先與一些動(dòng)態(tài)語言(如Ruby、Groovy、Node.js)相比,Java開發(fā)顯得異常笨重。接觸過外包項(xiàng)目的朋友也有所了解,如果要開發(fā)一個(gè)小型項(xiàng)目,首選的編程語言并不是Java,而是PHP。為什么呢?因?yàn)殚_發(fā)起來快!目前很多大型互聯(lián)網(wǎng)公司的早起編程語言都是類似PHP這種能夠快速開發(fā)的語言。
通過官網(wǎng)提供的SpringInitializr來創(chuàng)建項(xiàng)目。顯示內(nèi)容如下:
打開Moreoptions會(huì)看到另外一些默認(rèn)的配置:
我們前面提到的starters的選擇就是在Dependencies中設(shè)置,在沒有輸入任何內(nèi)容的時(shí)候,能夠看到該輸入欄目有對(duì)應(yīng)的提示信息。當(dāng)輸入web時(shí),會(huì)動(dòng)態(tài)匹配與web相關(guān)的依賴,點(diǎn)擊“?”添加即可。這里選擇web的最小化配置。
當(dāng)完成選擇,點(diǎn)擊“GenerateProject”即可自動(dòng)下載創(chuàng)建好的項(xiàng)目代碼。解壓之后,會(huì)看到是一個(gè)標(biāo)準(zhǔn)的Maven項(xiàng)目,使用idea等IDE引入Maven項(xiàng)目,自動(dòng)加載依賴即可,這里不再贅述。
第二種創(chuàng)建方式就是直接使用IDEA進(jìn)行創(chuàng)建,當(dāng)然前提是IDEA中已經(jīng)安裝了SpringBoot相關(guān)的插件——SpringBoot,如下圖所示。
像創(chuàng)建其他項(xiàng)目一樣,F(xiàn)ile,New,Project…,即可進(jìn)入創(chuàng)建項(xiàng)目頁面,如下圖:
選擇SpringInitializr,展示右邊基礎(chǔ)配置項(xiàng)。我們會(huì)發(fā)現(xiàn),其實(shí)此插件進(jìn)行創(chuàng)建時(shí)默認(rèn)也是調(diào)用官方提供的網(wǎng)址進(jìn)行創(chuàng)建。選擇JDK8,點(diǎn)擊下一步。
像第一種方式一樣,填寫相關(guān)參數(shù)信息,這里就不再重復(fù)描述。點(diǎn)擊“Next”,進(jìn)入選擇依賴界面。點(diǎn)擊“Web”,同時(shí)勾選中間部分出現(xiàn)的“Web”。能夠看到下面出現(xiàn)了“ServletwebapplicationwithSpringMVCandTomcat”,因此,項(xiàng)目已經(jīng)具有了SpringMVC框架和Tomcat內(nèi)置web容器了。
項(xiàng)目完成創(chuàng)建之后,來看一下目錄結(jié)構(gòu):
在常規(guī)spring構(gòu)建的web項(xiàng)目中的配置文件,比如spring-content.xml、web.xml等配置文件都不見了。能夠看到的只有application.properties,它默認(rèn)內(nèi)置了一些配置,可以通過IDEA的提示功能,快速配置相應(yīng)的參數(shù),比如在文件內(nèi)入手server,則會(huì)給出如下提示:
<?xml version="1.0" encoding="UTF-8"?> <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> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.3.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.example</groupId> <artifactId>demo</artifactId> <version>0.0.1-SNAPSHOT</version> <name>demo</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
package com.example.demo.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * @author zzs */ @RestController public class HelloWorldController { @RequestMapping public String hello() { return "hello world!"; } }
package com.example.demo; import com.example.demo.controller.HelloWorldController; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.http.MediaType; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; import org.springframework.test.web.servlet.setup.MockMvcBuilders; import static org.hamcrest.core.IsEqual.equalTo; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; @RunWith(SpringRunner.class) @SpringBootTest public class DemoApplicationTests { private MockMvc mockMvc; @Before public void init() { mockMvc = MockMvcBuilders.standaloneSetup(new HelloWorldController()).build(); } @Test public void testHello() throws Exception { mockMvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON)) .andExpect(status().isOk()) .andExpect(content().string(equalTo("hello world!"))); } }
以上就是關(guān)于扣丁學(xué)堂Java培訓(xùn)帶你5分鐘快速上手Spring Boot詳解整合,希望對(duì)大家有所幫助,想要學(xué)好Java開發(fā)小編給大家推薦口碑良好的扣丁學(xué)堂,扣丁學(xué)堂有專業(yè)老師制定的Java學(xué)習(xí)路線圖輔助學(xué)員學(xué)習(xí),此外還有與時(shí)俱進(jìn)的Java視頻教程供大家學(xué)習(xí),想要學(xué)好Java開發(fā)技術(shù)的小伙伴快快行動(dòng)吧??鄱W(xué)堂Java技術(shù)交流群:670348138。
【關(guān)注微信公眾號(hào)獲取更多學(xué)習(xí)資料】 【掃碼進(jìn)入HTML5前端開發(fā)VIP免費(fèi)公開課】
查看更多關(guān)于“Java開發(fā)資訊”的相關(guān)文章>>