在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何通過IDEA快速建立一個Spring Boot項(xiàng)目

jf_78858299 ? 來源:QStack ? 作者: 月下西樓 ? 2023-03-17 15:00 ? 次閱讀

背景

在我看來編程是一棵樹,編程語言就是這棵樹由主干生長出來的樹枝,而各種語言的框架則就像是樹枝上的樹葉,是當(dāng)前這門語言的結(jié)晶,在實(shí)際的生產(chǎn)環(huán)境中扮演著重要角色,學(xué)習(xí)這些框架能夠幫我們真正的具備實(shí)際開發(fā)能力,進(jìn)而找到一份好的工作,有興趣可以看看聊聊自學(xué)編程這篇文章,主要是我對于編程的一些看法,也許會對你有所啟發(fā)。

何為Spring Boot

在說Spring Boot之前先要了解Spring,那么Spring是什么呢?Spring 框架是一個分層的、面向切面的Java應(yīng)用程序的一站式輕量級解決方案,它是Spring技術(shù)棧的核心和基礎(chǔ),是為了解決企業(yè)級應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的。我們還是遵循之前所說的學(xué)習(xí)是一新事物時,先要略其大觀,不求甚解。在這里先不管什么分層,面向切面,現(xiàn)在只需要知道Spring是一個Java EE的開發(fā)框架,幫助開發(fā)通俗意義上的Java后端。

那么Spring Boot又是什么呢?Spring Boot是Pivotal團(tuán)隊(duì)在Spring的基礎(chǔ)上提供的一套全新的開源框架,其目的是為了簡化Spring應(yīng)用的搭建和開發(fā)過程。

Spring Boot去除了大量的 XML配置文件,簡化了復(fù)雜的依賴管理。Spring Boot具有Spring一切優(yōu)秀特性,Spring能做的事,Spring Boot都可以做,而且使用更加簡單,功能更加豐富,性能更加穩(wěn)定而健壯。

隨著近些年來微服務(wù)技術(shù)的流行,Spring Boot也成了時下炙手可熱的技術(shù)。Spring Boot集成了大量常用的第三方庫配置,Spring Boot應(yīng)用中這些第三方庫幾乎可以是零配置的開箱即用(out-of-the-box)大部分的 Spring Boot 應(yīng)用都只需要非常少量的配置代碼(基于Java的配置),開發(fā)者能夠更加專注于業(yè)務(wù)邏輯。

由此可以看出Spring Boot是由Spring衍生出的,傳統(tǒng)的Spring框架很多復(fù)雜的配置,而Spring Boot所做的就是使用合理的默認(rèn)值簡化Spring一系列的配置,提高開發(fā)效率,而使用合理的默認(rèn)值就是Spring Boot中核心的設(shè)計(jì)思想“約定優(yōu)于配置”。

上面我們已經(jīng)介紹了什么是Spring,什么是Spring Boot,還是老規(guī)矩why比what更重要,為什么我們需要Spring Boot,它的優(yōu)勢是什么呢?

  • 快速構(gòu)建:使用Spring Initializr可以快速創(chuàng)建項(xiàng)目,同時提供了豐富的解決方案,便于快速集成各種解決方案,提升開發(fā)效率。
  • 簡化依賴:提供了豐富的Starters,簡化Maven配置,避免版本兼容問題。
  • 一鍵部署:內(nèi)嵌Servlet容器,如Tomcat、Jetty,能夠直接打包成可執(zhí)行JAR文件獨(dú)立運(yùn)行,支持Jenkins、Docker,輕松實(shí)現(xiàn)自動化運(yùn)維。
  • 應(yīng)用監(jiān)控:自帶Actuator監(jiān)控組件,輕松監(jiān)控服務(wù)的各項(xiàng)狀態(tài)。使用Spring Boot Admin可以輕松部署功能完善的應(yīng)用監(jiān)控體系。

總的來說,Spring Boot讓構(gòu)建、編碼、配置、部署、監(jiān)控都變得非常簡單。

開啟Spring Boot之旅

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

如下圖所示,在IDEA中可以通過Spring Initializr快速創(chuàng)建項(xiàng)目,Group是公司,Artifact是項(xiàng)目名稱,點(diǎn)擊下一步即可創(chuàng)建一個Spring Boot項(xiàng)目。

圖片

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

接下來我們看一下新建項(xiàng)目的項(xiàng)目結(jié)構(gòu),如下圖所示

圖片

從上面可以看到,我們新建的test項(xiàng)目只有3個主要目錄* src/main/java:程序開發(fā)以及主程序目錄

  • src/main/resources:配置文件和資源文件目錄
  • src/test/java:測試程序目錄 然而一個完整的項(xiàng)目包括前臺頁面、model實(shí)體、數(shù)據(jù)庫訪問、公共基礎(chǔ)類等非常多的文件和目錄,Spring Boot建議目錄如下圖

圖片

如圖中com.qstack.test為根目錄應(yīng)包括:* TestApplication.java:建議放到根目錄下,是項(xiàng)目的啟動類,Spring Boot項(xiàng)目只能有一個main()方法入口。

  • comm:建議放置公共的類,如全局的配置文件、工具類等。
  • model:主要用于實(shí)體(Entity)。
  • repository:主要用于數(shù)據(jù)庫訪問層的代碼
  • service:主要是業(yè)務(wù)類代碼
  • web:負(fù)責(zé)前臺頁面訪問Controller路由 resources目錄下包括:
  • static:存放web訪問的靜態(tài)資源如JS、CSS、圖片等。
  • templates:存放頁面模版
  • application.properties: 存放項(xiàng)目的配置信息 test目錄存放單元測試代碼,目錄結(jié)構(gòu)與java目錄結(jié)構(gòu)相同。pom.xml用于配置項(xiàng)目依賴包以及其他配置。

pom.xml解析

pom.xml是Maven項(xiàng)目中非常重要的配置文件,我們新建的test項(xiàng)目的pom.xml內(nèi)容如下:

<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0<span class="hljs-name"modelVersion>
    <parent>
        <groupId>org.springframework.boot<span class="hljs-name"groupId>
        <artifactId>spring-boot-starter-parent<span class="hljs-name"artifactId>
        <version>2.6.5<span class="hljs-name"version>
        <relativePath/> 
    <span class="hljs-name"parent>
    <groupId>com.qstack<span class="hljs-name"groupId>
    <artifactId>test<span class="hljs-name"artifactId>
    <version>0.0.1-SNAPSHOT<span class="hljs-name"version>
    <name>test<span class="hljs-name"name>
    <description>test<span class="hljs-name"description>
    <properties>
        <java.version>1.8<span class="hljs-name"java.version>
    <span class="hljs-name"properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot<span class="hljs-name"groupId>
            <artifactId>spring-boot-starter<span class="hljs-name"artifactId>
        <span class="hljs-name"dependency>

        <dependency>
            <groupId>org.springframework.boot<span class="hljs-name"groupId>
            <artifactId>spring-boot-starter-web<span class="hljs-name"artifactId>
        <span class="hljs-name"dependency>

        <dependency>
            <groupId>org.springframework.boot<span class="hljs-name"groupId>
            <artifactId>spring-boot-starter-test<span class="hljs-name"artifactId>
            <scope>test<span class="hljs-name"scope>
        <span class="hljs-name"dependency>
    <span class="hljs-name"dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot<span class="hljs-name"groupId>
                <artifactId>spring-boot-maven-plugin<span class="hljs-name"artifactId>
            <span class="hljs-name"plugin>
        <span class="hljs-name"plugins>
    <span class="hljs-name"build>

<span class="hljs-name"project>

pom.xml主要包含四個部分,下面是 「項(xiàng)目的描述信息」 。groupId是項(xiàng)目的包路徑,artifactId是項(xiàng)目名稱,version是項(xiàng)目版本號,name是項(xiàng)目名稱,descriptoion是項(xiàng)目描述。

<groupId>com.qstack<span class="hljs-name"groupId>
<artifactId>test<span class="hljs-name"artifactId>
<version>0.0.1-SNAPSHOT<span class="hljs-name"version>
<name>test<span class="hljs-name"name>
<description>test<span class="hljs-name"description>

pom.xml還包含 「項(xiàng)目的依賴」 ,項(xiàng)目的依賴信息分為parent和dependencies兩部分,以下是parent部分。parent是配置父級目錄的信息,Maven支持項(xiàng)目的父子結(jié)構(gòu),引入后會默認(rèn)繼承父級的配置,此版本引入spring-boot-starter-parent定義Spring Boot的基礎(chǔ)版。

<parent>
    <groupId>org.springframework.boot<span class="hljs-name"groupId>
    <artifactId>spring-boot-starter-parent<span class="hljs-name"artifactId>
    <version>2.6.5<span class="hljs-name"version>
    <relativePath/> 
<span class="hljs-name"parent>

dependencies是配置項(xiàng)目所需要的依賴包,Spring Boot體系內(nèi)依賴組件不需要填寫具體版本號。

<dependencies>
    <dependency>
        <groupId>org.springframework.boot<span class="hljs-name"groupId>
        <artifactId>spring-boot-starter<span class="hljs-name"artifactId>
    <span class="hljs-name"dependency>

    <dependency>
        <groupId>org.springframework.boot<span class="hljs-name"groupId>
        <artifactId>spring-boot-starter-web<span class="hljs-name"artifactId>
    <span class="hljs-name"dependency>

    <dependency>
        <groupId>org.springframework.boot<span class="hljs-name"groupId>
        <artifactId>spring-boot-starter-test<span class="hljs-name"artifactId>
        <scope>test<span class="hljs-name"scope>
    <span class="hljs-name"dependency>
<span class="hljs-name"dependencies>

下面是 「項(xiàng)目構(gòu)建的公共變量」 ,指明了jdk版本。

<properties>
    <java.version>1.8<span class="hljs-name"java.version>
<span class="hljs-name"properties>

最后一部分是**「構(gòu)建配置信息」**

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot<span class="hljs-name"groupId>
            <artifactId>spring-boot-maven-plugin<span class="hljs-name"artifactId>
        <span class="hljs-name"plugin>
    <span class="hljs-name"plugins>
<span class="hljs-name"build>

hello world

首先檢查一下pom.xml中有沒有以下依賴,沒有則加上。

<dependency>
    <groupId>org.springframework.boot<span class="hljs-name"groupId>
    <artifactId>spring-boot-starter-web<span class="hljs-name"artifactId>
<span class="hljs-name"dependency>

在之前新建的web目錄下新建HelloController如下

@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String hello() {
        return "Hello @Spring Boot!!!";
    }
}

然后啟動項(xiàng)目,在瀏覽器輸入http://localhost:8080/hello

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • JAVA
    +關(guān)注

    關(guān)注

    19

    文章

    2976

    瀏覽量

    105211
  • 開發(fā)
    +關(guān)注

    關(guān)注

    0

    文章

    370

    瀏覽量

    40937
  • spring
    +關(guān)注

    關(guān)注

    0

    文章

    340

    瀏覽量

    14398
收藏 人收藏

    評論

    相關(guān)推薦

    Spring Boot如何實(shí)現(xiàn)異步任務(wù)

    ,用來告訴 Spring 這個方法是異步方法,Spring 會將這個方法的執(zhí)行放在異步線程中進(jìn)行。使用 @Async 注解需要滿足以下條件: 需要在
    的頭像 發(fā)表于 09-30 10:32 ?1483次閱讀

    Spring Boot Starter需要些什么

    pulsar-spring-boot-starter是非常有必要的,在此之前,我們先看看starter需要些什么。 Spring Boot
    的頭像 發(fā)表于 09-25 11:35 ?823次閱讀
    <b class='flag-5'>Spring</b> <b class='flag-5'>Boot</b> Starter需要些什么

    Gradle構(gòu)建的多模塊Spring Boot項(xiàng)目

    中找到 Spring Initializr,創(chuàng)建全新的 demo 項(xiàng)目,創(chuàng)建成功后結(jié)構(gòu)如下: 之后,程序會自動下載 Gradle 安裝包,并且
    的頭像 發(fā)表于 09-25 14:46 ?3098次閱讀
    Gradle構(gòu)建的多模塊<b class='flag-5'>Spring</b> <b class='flag-5'>Boot</b><b class='flag-5'>項(xiàng)目</b>

    啟動Spring Boot項(xiàng)目應(yīng)用的三種方法

    的讀取,開啟注解4)配置日志文件...配置完成之后部署tomcat 調(diào)試。但是如果使用spring boot呢?很簡單,我僅僅只需要非常少的幾個配置就可以迅速方便的搭建起來套web項(xiàng)目
    發(fā)表于 01-14 17:33

    Spring Boot嵌入式Web容器原理是什么

    同樣改變了傳統(tǒng)的Web應(yīng)用服務(wù)的啟動流程和部署方式。通過自動配置機(jī)制,Spring Boot提供了
    發(fā)表于 12-16 07:57

    Spring Boot從零入門1 詳述

    在開始學(xué)習(xí)Spring Boot之前,我之前從未接觸過Spring相關(guān)的項(xiàng)目,Java基礎(chǔ)還是幾年前自學(xué)的,現(xiàn)在估計(jì)也忘得差不多了吧,寫Spring
    的頭像 發(fā)表于 12-10 22:18 ?681次閱讀

    Spring認(rèn)證」什么是Spring GraphQL?

    這個項(xiàng)目建立Boot 2.x 上,但它應(yīng)該與最新的 Boot2.4.x5 相關(guān)。 要創(chuàng)建項(xiàng)目,請轉(zhuǎn)到start.
    的頭像 發(fā)表于 08-10 14:08 ?870次閱讀
    「<b class='flag-5'>Spring</b>認(rèn)證」什么是<b class='flag-5'>Spring</b> GraphQL?

    Spring Boot特有的實(shí)踐

    Spring Boot是最流行的用于開發(fā)微服務(wù)的Java框架。在本文中,我將與你分享自2016年以來我在專業(yè)開發(fā)中使用Spring Boot所采用的最佳實(shí)踐。這些內(nèi)容是基于我的個人經(jīng)驗(yàn)
    的頭像 發(fā)表于 09-29 10:24 ?965次閱讀

    強(qiáng)大的Spring Boot 3.0要來了

    來源:OSC開源社區(qū)(ID:oschina2013) Spring Boot 3.0 首個 RC 已發(fā)布,此外還為兩分支發(fā)布了更新:2.7.5 2.6.13。 3.0.0-RC1: https
    的頭像 發(fā)表于 10-31 11:17 ?1978次閱讀

    怎樣使用Kiuwan保護(hù)Spring Boot應(yīng)用程序呢?

    Spring Boot 提供了快速輕松地構(gòu)建基于Spring 的應(yīng)用程序所需的工具、功能和依賴項(xiàng)。
    的頭像 發(fā)表于 03-16 09:10 ?839次閱讀

    Spring Boot Web相關(guān)的基礎(chǔ)知識

    篇文章我們已經(jīng)學(xué)會了如何通過IDEA快速建立
    的頭像 發(fā)表于 03-17 15:03 ?702次閱讀

    Spring Boot Actuator快速入門

    不知道大家在寫 Spring Boot 項(xiàng)目的過程中,使用過 Spring Boot Actuator 嗎?知道
    的頭像 發(fā)表于 10-09 17:11 ?681次閱讀

    Spring Boot啟動 Eureka流程

    在上篇中已經(jīng)說過了 Eureka-Server 本質(zhì)上是 web 應(yīng)用的項(xiàng)目,今天就來看看 Spring Boot 是怎么啟動 Eure
    的頭像 發(fā)表于 10-10 11:40 ?938次閱讀
    <b class='flag-5'>Spring</b> <b class='flag-5'>Boot</b>啟動 Eureka流程

    Spring Boot的啟動原理

    可能很多初學(xué)者會比較困惑,Spring Boot 是如何做到將應(yīng)用代碼和所有的依賴打包成獨(dú)立的 Jar 包,因?yàn)閭鹘y(tǒng)的 Java 項(xiàng)目
    的頭像 發(fā)表于 10-13 11:44 ?701次閱讀
    <b class='flag-5'>Spring</b> <b class='flag-5'>Boot</b>的啟動原理

    Spring Boot 的設(shè)計(jì)目標(biāo)

    什么是Spring Boot Spring BootSpring 開源組織下的
    的頭像 發(fā)表于 10-13 14:56 ?625次閱讀
    <b class='flag-5'>Spring</b> <b class='flag-5'>Boot</b> 的設(shè)計(jì)目標(biāo)
    主站蜘蛛池模板: 伊人小婷婷色香综合缴缴情 | 婷婷色在线观看 | 欧美成人性色xxxxx视频大 | 亚洲午夜网站 | 国产成人精品高清在线 | 四虎网址在线观看 | 深夜网站在线 | 午夜a视频 | 99久热成人精品视频 | 男人资源站 | 酒色网址 | 成人欧美精品大91在线 | 日本丶国产丶欧美色综合 | 亚洲国产精品第一页 | 一二三区乱码一区二区三区码 | 色老头影院 | 日本不卡视频在线观看 | 国产稀缺精品盗摄盗拍 | 日本欧美一区二区三区不卡视频 | 又黄又视频 | 曰本裸色私人影院噜噜噜影院 | 福利视频免费观看 | 欧美在线bdsm调教一区 | 人与禽一级一级毛片 | 一级特级毛片免费 | 丁香花在线电影小说观看 | 国产乱人视频免费播放 | 四虎中文 | 一区视频| 日本网站免费观看 | 欧美视频一区二区三区在线观看 | se色成人亚洲综合 | 在线免费观看视频 | 黄色大秀视频 | 男人的亚洲天堂 | 色婷婷精品大全在线视频 | 在线小毛片 | 永久免费人成网ww555kkk手机 | 可以免费看黄的网址 | 色老头网站久久网 | www.一区二区三区.com |