激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專(zhuān)注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - Java教程 - 5分鐘快速上手Spring Boot

5分鐘快速上手Spring Boot

2021-07-29 11:11朱智勝 Java教程

這篇文章主要介紹了5分鐘快速上手Spring Boot,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

概述

與一些動(dòng)態(tài)語(yǔ)言(如ruby、groovy、node.js)相比,java開(kāi)發(fā)顯得異常笨重。接觸過(guò)外包項(xiàng)目的朋友也有所了解,如果要開(kāi)發(fā)一個(gè)小型項(xiàng)目,首選的編程語(yǔ)言并不是java,而是php。為什么呢?因?yàn)殚_(kāi)發(fā)起來(lái)快!目前很多大型互聯(lián)網(wǎng)公司的早起編程語(yǔ)言都是類(lèi)似php這種能夠快速開(kāi)發(fā)的語(yǔ)言。
既然問(wèn)題出現(xiàn)了,那必然有解決問(wèn)題的方案,springboot做到了。springboot是由pivotal公司所屬團(tuán)隊(duì)研發(fā),該公司的企業(yè)宗旨為:

致力于“改變世界構(gòu)造軟件的方式(we are transforming how the world builds software)”,提供云原生應(yīng)用開(kāi)發(fā) paas 平臺(tái)及服務(wù),幫助企業(yè)客戶采用敏捷軟件開(kāi)發(fā)方法論,從而提高軟件開(kāi)發(fā)人員工作效率、減少運(yùn)維成本,實(shí)現(xiàn)數(shù)字化轉(zhuǎn)型、it 創(chuàng)新,并最終實(shí)現(xiàn)業(yè)務(wù)創(chuàng)新。

springboot讓我們可以在幾分鐘內(nèi)就搭建出一套項(xiàng)目的基礎(chǔ)架構(gòu),同時(shí)為我們提供了大量集成方案——starters。基于“約定優(yōu)于配置”的理念,減少大量的配置文件,讓項(xiàng)目快速、簡(jiǎn)單的運(yùn)行起來(lái)。內(nèi)置web容器(如tomcat、netty等),通過(guò)jar -jar命令即可啟動(dòng)一個(gè)項(xiàng)目。

項(xiàng)目創(chuàng)建

環(huán)境要求

采用springboot最新版本2.1.3來(lái)講解。我們使用maven項(xiàng)目管理工具來(lái)管理項(xiàng)目,電腦上要預(yù)先安裝好maven3.3+(springboot要求)版本。jdk當(dāng)然也少不了,但需要jdk8及以上版本。

創(chuàng)建項(xiàng)目方式一

通過(guò)官網(wǎng)提供的spring initializr來(lái)創(chuàng)建項(xiàng)目。訪問(wèn)官方網(wǎng)址:https://start.spring.io/ 。顯示內(nèi)容如下:

5分鐘快速上手Spring Boot

簡(jiǎn)單了解一下相應(yīng)的參數(shù)選擇:

  1. project:選擇項(xiàng)目構(gòu)建的工具,采用默認(rèn)的maven;
  2. language:選擇構(gòu)建項(xiàng)目的語(yǔ)言,采用默認(rèn)的java;
  3. spring boot:選擇使用的springboot的版本信息,采用最新版本2.1.3;
  4. project metadata:設(shè)置項(xiàng)目的元數(shù)據(jù),主要就是設(shè)置maven相關(guān)的配置;group,對(duì)應(yīng)maven中的groupid,artifact對(duì)應(yīng)maven中的artifactid。

打開(kāi)more options會(huì)看到另外一些默認(rèn)的配置:

5分鐘快速上手Spring Boot

  1. packaging:指定打包的模式,默認(rèn)采用jar包模式,即使用java -jar啟動(dòng)即可,如果需要部署到單獨(dú)的tomcat或其他web容器,則可選擇war包。
  2. java version:springboot2.13默認(rèn)支持最低jdk為8。

我們前面提到的starters的選擇就是在dependencies中設(shè)置,在沒(méi)有輸入任何內(nèi)容的時(shí)候,能夠看到該輸入欄目有對(duì)應(yīng)的提示信息。當(dāng)輸入web時(shí),會(huì)動(dòng)態(tài)匹配與web相關(guān)的依賴,點(diǎn)擊“?”添加即可。這里選擇web的最小化配置。

5分鐘快速上手Spring Boot

當(dāng)完成選擇,點(diǎn)擊“generate project”即可自動(dòng)下載創(chuàng)建好的項(xiàng)目代碼。解壓之后,會(huì)看到是一個(gè)標(biāo)準(zhǔn)的maven項(xiàng)目,使用idea等ide引入maven項(xiàng)目,自動(dòng)加載依賴即可,這里不再贅述。

5分鐘快速上手Spring Boot

創(chuàng)建項(xiàng)目方式二

第二種創(chuàng)建方式就是直接使用idea進(jìn)行創(chuàng)建,當(dāng)然前提是idea中已經(jīng)安裝了spring boot相關(guān)的插件——spring boot,如下圖所示。

5分鐘快速上手Spring Boot

像創(chuàng)建其他項(xiàng)目一樣,file,new,project…,即可進(jìn)入創(chuàng)建項(xiàng)目頁(yè)面,如下圖:

5分鐘快速上手Spring Boot

選擇spring initializr,展示右邊基礎(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)擊下一步。

5分鐘快速上手Spring Boot

像第一種方式一樣,填寫(xiě)相關(guān)參數(shù)信息,這里就不再重復(fù)描述。點(diǎn)擊“next”,進(jìn)入選擇依賴界面。點(diǎn)擊“web”,同時(shí)勾選中間部分出現(xiàn)的“web”。能夠看到下面出現(xiàn)了“servlet web application with spring mvc and tomcat”,因此,項(xiàng)目已經(jīng)具有了springmvc框架和tomcat內(nèi)置web容器了。

5分鐘快速上手Spring Boot

當(dāng)然,如果項(xiàng)目需要,也可以選擇添加更多相關(guān)依賴。完成依賴選擇之后,點(diǎn)擊“next”,指定項(xiàng)目的名稱(chēng)和位置,點(diǎn)擊“finish”,等待項(xiàng)目構(gòu)建完成即可。根據(jù)網(wǎng)絡(luò)速度,等待時(shí)間有所不同,當(dāng)添加依賴jar包一直卡著不動(dòng)時(shí),可考慮關(guān)閉項(xiàng)目重新打開(kāi),手動(dòng)“reimport”一下maven依賴。

項(xiàng)目目錄結(jié)構(gòu)

項(xiàng)目完成創(chuàng)建之后,來(lái)看一下目錄結(jié)構(gòu):

5分鐘快速上手Spring Boot

項(xiàng)目目錄結(jié)構(gòu)簡(jiǎn)單明了,就是一個(gè)普通的maven項(xiàng)目。src/main/java目錄下為項(xiàng)目的啟動(dòng)程序和后續(xù)需要編寫(xiě)的業(yè)務(wù)代碼。resources目錄存放配置文件和資源文件,如web項(xiàng)目的js、css、image、jsp等。test目錄存放單元測(cè)試類(lèi)。

配置文件

在常規(guī)spring構(gòu)建的web項(xiàng)目中的配置文件,比如spring-content.xml、web.xml等配置文件都不見(jiàn)了。能夠看到的只有application.properties,它默認(rèn)內(nèi)置了一些配置,可以通過(guò)idea的提示功能,快速配置相應(yīng)的參數(shù),比如在文件內(nèi)入手server,則會(huì)給出如下提示:

5分鐘快速上手Spring Boot

通過(guò)提示可以看出,內(nèi)嵌tomcat默認(rèn)的端口為8080。可以通過(guò)server.port=xx,重新指定端口號(hào)。

項(xiàng)目依賴

在之前的spring項(xiàng)目搭建我們需要了解每個(gè)功能都使用了spring的哪些核心依賴包,然后逐一引入。使用spring boot便無(wú)需關(guān)注那么多。來(lái)看一下pom.xml文件內(nèi)容。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?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>

看到pom里面的內(nèi)容是不是感覺(jué)清爽到極致了。是的,忽略掉maven的元數(shù)據(jù)配置,其實(shí)我們僅僅引入了三部分的內(nèi)容:

parent元素,引入了spring-boot-starter-parent的依賴管理,主要提供了整體版本控制和打包等內(nèi)容;

dependencies元素中,引入了spring-boot-starter-web這個(gè)starter和單元測(cè)試的starter。

build元素中,引入了一個(gè)構(gòu)建項(xiàng)目的maven插件。

而此刻,如果打開(kāi)項(xiàng)目的jar包依賴,會(huì)看到已經(jīng)引入了幾十個(gè)功能相關(guān)的jar包了。

helloworld

編寫(xiě)一個(gè)可通過(guò)瀏覽器訪問(wèn)的hello web程序。在com.example.demo包下創(chuàng)建一個(gè)controller的包,并創(chuàng)建helloworldcontroller類(lèi)。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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!";
    }
}

像我們使用spring mvc一樣,在controller中實(shí)現(xiàn)上面的代碼。運(yùn)行demoapplication中的main方法啟動(dòng)項(xiàng)目,在瀏覽器輸入:http://localhost:8080/hello,頁(yè)面顯示出”hello world!”,一個(gè)簡(jiǎn)單的rest接口請(qǐng)求便完成了。

單元測(cè)試

在demoapplicationtests中寫(xiě)一段簡(jiǎn)單的單元測(cè)試,代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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!")));
    }
}

注意事項(xiàng)

至此,已經(jīng)完成了springboot最基本的項(xiàng)目已經(jīng)完成。這里再補(bǔ)充兩條注意事項(xiàng):

1、業(yè)務(wù)代碼和新建的package一定要放在啟動(dòng)main方法的同級(jí)包下或下一級(jí)包下面,也就是說(shuō)springboot的啟動(dòng)程序一定要在最頂層,否則啟動(dòng)時(shí)某些注解無(wú)法檢測(cè)到。

2、如果業(yè)務(wù)中有其他的類(lèi)中有main方法,注意注釋掉或替換為單元測(cè)試的形式,因?yàn)閟pringboot在啟動(dòng)時(shí)會(huì)尋找main方法,如果存在多個(gè)在使用java -jar啟動(dòng)時(shí)會(huì)出現(xiàn)莫名其妙的問(wèn)題。

項(xiàng)目源代碼:https://github.com/secbr/springboot-all/tree/master/demo

以上所述是小編給大家介紹的5分鐘快速上手spring boot詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)服務(wù)器之家網(wǎng)站的支持!

原文鏈接:https://blog.csdn.net/wo541075754/article/details/88945215

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲综合中文 | 久久久久久久久久亚洲 | 亚洲精品久久久久久 | 国产精品片一区二区三区 | 色屁屁xxxxⅹ在线视频 | 日本网站一区 | 久久精品99久久久久久2456 | 九九色精品| 72pao成人国产永久免费视频 | 国产日本欧美在线观看 | av免费不卡国产观看 | 国产精品久久久久久238 | 国产无限资源在线观看 | 国产日韩三区 | 黄色片网站在线看 | h视频免费在线 | 精品亚洲午夜久久久久91 | 日本黄色一级电影 | 一区二区三区欧美精品 | 一区二区三区在线观看av | 在线播放污 | 国产99久久 | 国内精品久久久久久久影视红豆 | 黄色片在线观看网站 | 精品黑人一区二区三区国语馆 | 黄色电影免费提供 | 午夜精品久久久久久久爽 | 欧美性生活区 | 久久国产乱子伦精品 | 日韩精品久久久久久 | 91羞羞 | 91精品国产91热久久久做人人 | 污片在线观看视频 | 国产精品视频一区二区三区四区国 | 色黄视频网站 | 久久密 | 国产羞羞视频 | 黑人一区二区三区四区五区 | 福利片在线看 | 蜜桃视频在线观看视频 | 中文字幕观看 |