欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring Boot 入門指南

 更新時間:2021年05月27日 11:00:14   作者:淮南一只貓  
Spring Boot 簡化了Spring 應(yīng)用的初始搭建、開發(fā)過程,開發(fā)人員可使用Spring提供的特定的方式來進行配置,不再需要重復(fù)自定義樣板化的配置。本文就將帶你入門Spring Boot

0x0 前言

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

0x1 簡介

Spring Boot 是由 Pivotal 團隊提供的全新框架,其設(shè)計目的是用來簡化新 Spring 應(yīng)用的初始搭建以及開發(fā)過程。該框架使用了特定的方式來進行配置,從而使開發(fā)人員不再需要定義樣板化的配置。用我的話來理解,就是 Spring Boot 其實不是什么新的框架,它默認配置了很多框架的使用方式,就像 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項目,當(dāng)然你可以從 https://start.spring.io/ 根據(jù)自身環(huán)境直接 Generate Project 生成zip文件進行編寫。

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

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

0x3 文件解析

如上圖所示,項目目錄解析:

  • 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)前的項目就是 Spring Boot 項目了,spring-boot-starter-parent 是一個特殊的 starter ,它用來提供相關(guān)的 Maven 默認依賴,使用它之后,常用的包依賴可以省去 version 標(biāo)簽。關(guān)于 Spring Boot 提供了哪些 jar 包的依賴,可查看 C:\Users\Jaxson[你的用戶名]\.m2\repository\org\springframework\boot\spring-boot-dependencies\2.0.2.RELEASE\spring-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 作為命名的。舉個例子來說明一下這個起步依賴的好處,比如組裝臺式機和品牌機,自己組裝的話需要自己去選擇不同的零件,最后還要組裝起來,期間有可能會遇到零件不匹配的問題。耗時又消力,而品牌機就好一點,買來就能直接用的,后續(xù)想換零件也是可以的。相比較之下,后者帶來的效果更好點,起步依賴就像這里的品牌機,自動給你封裝好了你想要實現(xiàn)的功能的依賴。就比如我們之前要實現(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>
  • 把項目打包成一個可執(zhí)行的超級 JAR(uber-JAR) ,包括把應(yīng)用程序的所有依賴打入 JAR 文件內(nèi),并為 JAR 添加一個描述文件,其中的內(nèi)容能讓你用 java -jar 來運行應(yīng)用程序。
  • 搜索 public static void main() 方法來標(biāo)記為可運行類。

應(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
@SpringBootApplication
public class DemoApplication {
 
    @RequestMapping("/")
    public String index() {
        return "Hello World";
    }
 
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
 
}
  • @SpringBootApplication 是 Sprnig Boot 項目的核心注解,主要目的是開啟自動配置。
  • main 方法這是一個標(biāo)準(zhǔn)的 Java 應(yīng)用的 main 的方法,主要作用是作為項目啟動的入口。
  • @RestController 注解等價于 @Controller + @ResponseBody 的結(jié)合,使用這個注解的類里面的方法都以 json 格式輸出。

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

0x4 進階

項目目錄

在實際項目中建議使用:

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

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

編寫單元測試

同樣測試類編寫是很重要的習(xí)慣,在本實例編寫簡單的 http 請求測試,使用 mockmvc 進行,利用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)
@SpringBootTest
public 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ā)項目中已經(jīng)很常見了吧,雖然平時開發(fā)web項目過程中,改動項目啟重啟總是報錯;但springBoot 對調(diào)試支持很好,修改之后可以實時生效,需要添加以下的配置:

<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)境下運行的時候會被禁用。如果你使用 java -jar 啟動應(yīng)用或者用一個特定的 classloader 啟動,它會認為這是一個“生產(chǎn)環(huán)境”。

0x5 參考

Building an Application with Spring Boot

以上就是Spring Boot 入門指南的詳細內(nèi)容,更多關(guān)于Spring Boot 入門的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Java日常練習(xí)題,每天進步一點點(48)

    Java日常練習(xí)題,每天進步一點點(48)

    下面小編就為大家?guī)硪黄狫ava基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望可以幫到你
    2021-08-08
  • Java通過IO流輸出文件目錄的實例代碼

    Java通過IO流輸出文件目錄的實例代碼

    這篇文章主要介紹了Java通過IO流輸出文件目錄,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • 詳解Spring Data Jpa 模糊查詢的正確用法

    詳解Spring Data Jpa 模糊查詢的正確用法

    本篇文章主要介紹了詳解Spring Data Jpa 模糊查詢的正確用法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • Java 給PDF簽名時添加可信時間戳的方法

    Java 給PDF簽名時添加可信時間戳的方法

    這篇文章主要介紹了Java 給PDF簽名時添加可信時間戳,關(guān)于jar導(dǎo)入的問題,本文給大家?guī)韮煞N方法,一種是手動導(dǎo)入另一種是maven配置導(dǎo)入,需要的朋友可以參考下
    2021-07-07
  • Hadoop多Job并行處理的實例詳解

    Hadoop多Job并行處理的實例詳解

    這篇文章主要介紹了Hadoop多Job并行處理的實例詳解的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下
    2017-10-10
  • springboot如何獲取applicationContext?servletContext

    springboot如何獲取applicationContext?servletContext

    這篇文章主要介紹了springboot如何獲取applicationContext?servletContext問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • java編程中自動拆箱與自動裝箱詳解

    java編程中自動拆箱與自動裝箱詳解

    這篇文章主要介紹了java編程中自動拆箱與自動裝箱詳解,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • Java實現(xiàn)文件批量重命名具體實例

    Java實現(xiàn)文件批量重命名具體實例

    這篇文章主要介紹了Java實現(xiàn)文件批量重命名具體實例,需要的朋友可以參考下
    2014-02-02
  • Java中List根據(jù)條件刪除元素的幾種方式

    Java中List根據(jù)條件刪除元素的幾種方式

    java List刪除指定元素有四種方法,分別是普通for循環(huán),增強for循環(huán),CopyOnWriteArrayList以及原生的Iterator迭代器循環(huán)來刪除list中指定的某個元素,非常的簡單,并通過代碼示例講解的非常詳細,需要的朋友可以參考下
    2024-04-04
  • Java中Spring技巧之?dāng)U展點的應(yīng)用

    Java中Spring技巧之?dāng)U展點的應(yīng)用

    這篇文章主要介紹了Java中Spring技巧之?dāng)U展點的應(yīng)用,下文Spring容器的啟動流程圖展開其內(nèi)容的相關(guān)資料,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-04-04

最新評論