国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

Spring Boot 入門指南

瀏覽:5日期:2023-07-13 15:25:09
目錄0x0 前言0x1 簡介0x2 Hello World0x3 文件解析pom.xml應(yīng)用入口類0x4 進(jìn)階項(xiàng)目目錄編寫單元測試開發(fā)環(huán)境的調(diào)試0x5 參考0x0 前言

記得當(dāng)初放棄 Java 主要原因是幾個框架整合,花了大半天去編寫配置文件,編寫任務(wù)后運(yùn)行依然有報錯,甚是心累,故轉(zhuǎn)前端開發(fā)了。最近周圍很多 Java 朋友說微服務(wù)開發(fā)很爽,各種簡單,自己本地體驗(yàn)下,的確很簡單。所以對此抱有很大的學(xué)習(xí)興趣。再加上之前使用 Nestjs 項(xiàng)目很像 Spring Boot 風(fēng)格尋思還不如直接使用它。

0x1 簡介

Spring Boot 是由 Pivotal 團(tuán)隊(duì)提供的全新框架,其設(shè)計目的是用來簡化新 Spring 應(yīng)用的初始搭建以及開發(fā)過程。該框架使用了特定的方式來進(jìn)行配置,從而使開發(fā)人員不再需要定義樣板化的配置。用我的話來理解,就是 Spring Boot 其實(shí)不是什么新的框架,它默認(rèn)配置了很多框架的使用方式,就像 maven 整合了所有的 jar 包,Spring Boot 整合了所有的框架 。

0x2 Hello World

IDE:IntelliJ IDEA 2021.01

JDK:OpenJDK 1.8.0_282

由于我用的是IDEA編輯器,創(chuàng)建環(huán)境可以創(chuàng)建Spring Boot項(xiàng)目,當(dāng)然你可以從 https://start.spring.io/ 根據(jù)自身環(huán)境直接 Generate Project 生成zip文件進(jìn)行編寫。

在 IDEA 創(chuàng)建 Spring Boot 操作步驟如下:

在主界面點(diǎn)擊 Create New Project 后左邊列表選擇 Spring Initalizr 選項(xiàng),右邊選項(xiàng)除了 JDK 安裝自身版本其他默認(rèn)即可。 點(diǎn)擊 Next 到下一步,編寫項(xiàng)目簡介請根據(jù)實(shí)際自身情況編寫。沒有特需直接默認(rèn)下一步。 Dependencies 界面直接勾選 Web-Web 選項(xiàng)即可 直接 Next 下一步后 IDEA 會進(jìn)行構(gòu)建依賴 jar 包,請等待完成。 運(yùn)行 main 方法,打開 http://localhost:8080/ 地址查看效果

Spring Boot 入門指南

0x3 文件解析

如上圖所示,項(xiàng)目目錄解析:

pom.xml:Maven構(gòu)建說明文件。 DemoApplication.java:一個帶有 main() 方法的類,用于啟動應(yīng)用程序(關(guān)鍵)。 DemoApplicationTests.java:一個空的 Junit 測試類,它加載了一個使用 Spring Boot 字典配置功能的Spring應(yīng)用程序上下文。 application.properties:一個空的 properties 文件,你可以根據(jù)需要添加配置屬性。 pom.xml

Spring Boot父級依賴

在這兒簡單說一下配置標(biāo)簽的意思很大的程度上和Spring MVC工程配置是不太一樣的:

<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.2.RELEASE</version><relativePath/> <!-- lookup parent from repository --> </parent>

從 parent 得知該配置是 Spring Boot 父級依賴:有了這個,當(dāng)前的項(xiàng)目就是 Spring Boot 項(xiàng)目了,spring-boot-starter-parent 是一個特殊的 starter ,它用來提供相關(guān)的 Maven 默認(rèn)依賴,使用它之后,常用的包依賴可以省去 version 標(biāo)簽。關(guān)于 Spring Boot 提供了哪些 jar 包的依賴,可查看 C:UsersJaxson[你的用戶名].m2repositoryorgspringframeworkbootspring-boot-dependencies2.0.2.RELEASEspring-boot-dependencies-2.0.2.RELEASE.pom文件得知。

所以在原有的配置文件上想升級某個依賴文件版本的話,可以直接 pom 文件添加指定的配置版本,例如:

<properties> <spring-data-releasetrain.version>Fowler-SR2</spring-data-releasetrain.version></properties>

起步依賴 spring-boot-starter-xx

Spring Boot 提供了很多”開箱即用“的依賴模塊,都是以 spring-boot-starter-xx 作為命名的。舉個例子來說明一下這個起步依賴的好處,比如組裝臺式機(jī)和品牌機(jī),自己組裝的話需要自己去選擇不同的零件,最后還要組裝起來,期間有可能會遇到零件不匹配的問題。耗時又消力,而品牌機(jī)就好一點(diǎn),買來就能直接用的,后續(xù)想換零件也是可以的。相比較之下,后者帶來的效果更好點(diǎn),起步依賴就像這里的品牌機(jī),自動給你封裝好了你想要實(shí)現(xiàn)的功能的依賴。就比如我們之前要實(shí)現(xiàn)web功能,引入了 spring-boot-starter-web 這個起步依賴。

Spring Boot Maven插件

<build> <plugins><plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId></plugin> </plugins></build> 把項(xiàng)目打包成一個可執(zhí)行的超級 JAR(uber-JAR) ,包括把應(yīng)用程序的所有依賴打入 JAR 文件內(nèi),并為 JAR 添加一個描述文件,其中的內(nèi)容能讓你用 java -jar 來運(yùn)行應(yīng)用程序。 搜索 public static void main() 方法來標(biāo)記為可運(yùn)行類。 應(yīng)用入口類

DemoApplication是一個啟動類,就是一個程序入口,下面添加一個入口類方法簡單的演示下:

package com.example.demo; import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController; @RestController@SpringBootApplicationpublic class DemoApplication { @RequestMapping('/') public String index() {return 'Hello World'; } public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args); } } @SpringBootApplication 是 Sprnig Boot 項(xiàng)目的核心注解,主要目的是開啟自動配置。 main 方法這是一個標(biāo)準(zhǔn)的 Java 應(yīng)用的 main 的方法,主要作用是作為項(xiàng)目啟動的入口。 @RestController 注解等價于 @Controller + @ResponseBody 的結(jié)合,使用這個注解的類里面的方法都以 json 格式輸出。

啟動后在瀏覽器會看到 Hello World 內(nèi)容,一個簡單的 Web 的項(xiàng)目就這樣搞定。

0x4 進(jìn)階項(xiàng)目目錄

在實(shí)際項(xiàng)目中建議使用:

com +- example +- myproject +- Application.java | +- domain | +- Customer.java | +- CustomerRepository.java | +- service | +- CustomerService.java | +- web | +- CustomerController.java | Application.java 建議放到跟目錄下面,主要用于做一些框架配置 domain 目錄主要用于實(shí)體(Entity)與數(shù)據(jù)訪問層(Repository) service 邏輯層主要是業(yè)務(wù)類代碼 web(controller) 負(fù)責(zé)頁面訪問控制

養(yǎng)成一個目錄清晰結(jié)構(gòu)習(xí)慣是必須的...方便后期的維護(hù)性和可讀性。

編寫單元測試

同樣測試類編寫是很重要的習(xí)慣,在本實(shí)例編寫簡單的 http 請求測試,使用 mockmvc 進(jìn)行,利用MockMvcResultHandlers.print() 打印出執(zhí)行結(jié)果:

package com.example.demo; 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.result.MockMvcResultHandlers;import org.springframework.test.web.servlet.result.MockMvcResultMatchers;import org.springframework.test.web.servlet.setup.MockMvcBuilders; @RunWith(SpringRunner.class)@SpringBootTestpublic class DemoApplicationTests { private MockMvc mvc; @Before public void setUp() throws Exception {mvc = MockMvcBuilders.standaloneSetup(new DemoApplication()).build(); } @Test public void contextLoads() throws Exception {mvc.perform(MockMvcRequestBuilders.get('/').accept(MediaType.APPLICATION_JSON)).andExpect(MockMvcResultMatchers.status().isOk()).andDo(MockMvcResultHandlers.print()).andReturn(); } } 開發(fā)環(huán)境的調(diào)試

熱啟動在正常開發(fā)項(xiàng)目中已經(jīng)很常見了吧,雖然平時開發(fā)web項(xiàng)目過程中,改動項(xiàng)目啟重啟總是報錯;但springBoot 對調(diào)試支持很好,修改之后可以實(shí)時生效,需要添加以下的配置:

<dependencies> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional> </dependency></dependencies><build> <plugins><plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration><fork>true</fork> </configuration></plugin> </plugins></build>

該模塊在完整的打包環(huán)境下運(yùn)行的時候會被禁用。如果你使用 java -jar 啟動應(yīng)用或者用一個特定的 classloader 啟動,它會認(rèn)為這是一個“生產(chǎn)環(huán)境”。

0x5 參考

Building an Application with Spring Boot

以上就是Spring Boot 入門指南的詳細(xì)內(nèi)容,更多關(guān)于Spring Boot 入門的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 九九香蕉网 | 欧美另类极品 | 一区二区三区日本视频 | 狠狠色综合色综合网站久久 | 日本三区视频 | 久久香蕉国产视频 | 国产免费久久精品99re丫y | 欧美怡红院在线 | 成人午夜视频一区二区国语 | 亚洲在线高清 | 三级毛片免费 | 欧美视频在线观看网站 | 一区二区三区四区国产精品 | 久久精品国产99久久 | 欧美手机看片 | 在线a毛片免费视频观看 | 玖玖玖视频在线观看视频6 玖玖影院在线观看 | 久久综合久久美利坚合众国 | 国产一级片观看 | 三级中文字幕永久在线视频 | 日本美女视频韩国视频网站免费 | 成人黄色在线免费观看 | 欧美一级高清免费播放 | 黄色a三级免费看 | 色视频在线观看免费 | 日本一视频一区视频二区 | 亚洲一区二区三区首页 | 亚洲二三区 | 日韩欧美视频在线一区二区 | 免看一级a毛片一片成人不卡 | 国产三级国产精品 | 91在线免费公开视频 | 三级黄色高清视频 | 激情五月色播五月 | 国产最新网站 | 99久久精品视香蕉蕉er热资源 | 在线视免费频观看韩国aaa | 超矿碰人人超人人看 | 888米奇在线视频四色 | 久久88香港三级台湾三级中文 | 我要看a级毛片 |