最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring?Boot?教程之創(chuàng)建項(xiàng)目的三種方式

 更新時間:2022年05月23日 09:43:52   作者:author?icon  
這篇文章主要分享了Spring?Boot?教程之創(chuàng)建項(xiàng)目的三種方式,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下

一、前言

如果你是一個浸淫 SpringBoot 已久的老手,那么可能下面的內(nèi)容可能不那么適合你,寫得很簡單。但如果是 對于一個剛學(xué)習(xí) SpringBoot 的新手而言,我想多少還是有些用的。本文就來手把手教你如何創(chuàng)建一個 SpringBoot 項(xiàng)目,并對其中的一些關(guān)鍵信息進(jìn)行簡單分析,讓你更加快速地掌握如何創(chuàng)建一個 SpringBoot 項(xiàng)目。

二、Spring Boot 簡介

使用 Servlet/JSP 開發(fā) JavaWeb 時,一個接口對應(yīng)一個Servlet,配置很繁瑣。為盡量減少這種麻煩,Spring Boot 應(yīng)用而生。它是由 Pivotal 團(tuán)隊(duì)提供的全新框架,目的是用于簡化 Spring 應(yīng)用的初始搭建即開發(fā)過程。該框架使用特定方式進(jìn)行配置,從而使開發(fā)人員無需定義樣板化的配置。

三、如何創(chuàng)建 Spring Boot 項(xiàng)目

Sping Boot 項(xiàng)目的本質(zhì)其實(shí)還是一個 Maven 項(xiàng)目,主要有如下幾種創(chuàng)建 Spring Boot 項(xiàng)目的方式;

在線創(chuàng)建

  • 打開 https://start.spring.io/ 來生成 Spring Boot 項(xiàng)目;

  • 然后選擇和填寫相關(guān)配置;
  • Project:表示使用什么構(gòu)建工具,Maven or Gradle;
  • Language:表示使用什么編程語言, Java 、Kotlin or Groovy;
  • Spring Boot:Spring Boot 的版本;
  • Project Metadata:項(xiàng)目元數(shù)據(jù),即 Maven項(xiàng)目基本元素,根據(jù)自己的實(shí)際情況填寫;
  • Dependencies:要加入的 Spring Boot 組件;

  • 然后點(diǎn)擊生成或 Ctrl + Enter 即可;

  • 將壓縮包下載后,解壓縮后用自己喜歡的 IDE 開發(fā)即可;

IntelliJ IDEA 創(chuàng)建

  • 新建項(xiàng)目時選擇 Spring Initializr ;

  • 點(diǎn)擊下一步,填寫相關(guān)配置;
  • Group:組織 ID,一般分為多個段,一般第一段為,而第二段則是 公司名稱
  • Artifact:唯一標(biāo)識符,一般是項(xiàng)目名;

  • 選擇包,添加相關(guān)依賴;

  • 配置項(xiàng)目名,點(diǎn)擊完成即可;

Maven 創(chuàng)建

  • 新建 Maven 項(xiàng)目;

  • 填寫項(xiàng)目名和相關(guān)配置;

  • 點(diǎn)擊完成即可;

  • 配置 pom.xml 添加依賴;
<?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>
    <groupId>org.cunyu1943</groupId>
    <artifactId>springDemo</artifactId>
    <version>1.0-SNAPSHOT</version>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.6.RELEASE</version>
    </parent>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>2.2.6.RELEASE</version>
        </dependency>
    </dependencies>
</project>
  • main/java 目錄下創(chuàng)建一個包,然后新建一個類,比如我的如下;
package controller;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@EnableAutoConfiguration
@RestController
public class App {
    public static void main(String[] args) throws Exception {
        SpringApplication.run(App.class, args);
    }
    @GetMapping("/index")
    public String index() {
        return "Hello World!";
    }
}
  • 運(yùn)行上一步中的 main 方法即可;

四、常見項(xiàng)目結(jié)構(gòu)

代碼層

根目錄:com.springboot

  • build :工程啟動類;
  • entity :實(shí)體類;
  • dao :數(shù)據(jù)訪問層;
  • service :數(shù)據(jù)服務(wù)層,業(yè)務(wù)類代碼;
  • controller :前端訪問控制器;
  • config :配置信息類;
  • util :工具類;
  • constant :常用接口類;
  • vo :數(shù)據(jù)傳輸類;
  • Application.java:項(xiàng)目的啟動類;

資源文件結(jié)構(gòu)

根目錄 src/main/resources

  • config.properties、.json 等配置文件;
  • i18n :國際化相關(guān);
  • META-INF/springspring.xml ;
  • static :頁面以及 js、css、image 等分別放在各自文件夾下;

五、@SpringBootApplication 注解分析

相關(guān)代碼

package org.springframework.boot.autoconfigure;
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = {
        @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
        @Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
public @interface SpringBootApplication {
   ......
}

說明

@SpringBootApplication 標(biāo)注該類是一個啟動類,每個 Spring Boot 項(xiàng)目有且只有項(xiàng)目啟動類才能用該注解。可以看做是 @Configuration、@EnableAutoConfiguration、@ComponentScan 的組合注解。

  • @Configuration :允許在上下文中注冊額外的 Bean 或?qū)肫渌渲茫?/li>
  • @EnableAutoConfiguration:啟動 Spring Boot 的自動配置機(jī)制;
  • @ComponentScan:掃描被 @ComponentScan(@Service、@Controller、@Repository) 注解的 Bean,默認(rèn)掃描該類所在包下所有類,將這些 Bean 定義加載到 IOC 容器中;

六、pom.xml 分析

<?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 https://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.3.2.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.cunyu</groupId>
    <artifactId>springboot-03</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>springboot-03</name>
    <description>spring boot - 03</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>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

創(chuàng)建好項(xiàng)目后,如果沒有選其他組件,會生成如上的 Spring Boot 項(xiàng)目依賴,主要有四個部分:

  • 項(xiàng)目元數(shù)據(jù)

創(chuàng)建時輸入的 Project Metadata 部分,即 Maven 項(xiàng)目的基本元素,包括 groupId、artifactId、version、name、description 等;

  • parent

繼承 spring-boot-starter-parent 的依賴管理,控制版本與打包等等內(nèi)容;

  • dependencies

項(xiàng)目具體依賴,默認(rèn)包含 spring-boot-starter-web,用于實(shí)現(xiàn)HTTP接口(該依賴中包含了Spring MVC);spring-boot-starter-test用于編寫單元測試的依賴包。后續(xù)開發(fā)中,主要就是在這里添加各種依賴。

  • build

構(gòu)建配置部分,默認(rèn)使用 spring-boot-maven-plugin,配合 spring-boot-starter-parent 可以把 Spring Boot 應(yīng)用打包成 jar 來直接運(yùn)行。

七、總結(jié)

文章主要介紹了兩種創(chuàng)建 SpringBoot 的方式,一種是通過 Spring 官網(wǎng)在線創(chuàng)建的方式,另一種則是通過 IDEA 創(chuàng)建的方式,兩個方式其實(shí)效果都是一樣的,只不過形式不同而已。

到此這篇關(guān)于Spring Boot 教程之創(chuàng)建項(xiàng)目的 三種方式的文章就介紹到這了,更多相關(guān)Spring Boot創(chuàng)建項(xiàng)目內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mybatis原理概述入門教程

    mybatis原理概述入門教程

    這篇文章主要介紹了在今天這篇博文中,我將要介紹一下mybatis的框架原理,以及mybatis的入門程序,實(shí)現(xiàn)用戶的增刪改查,她有什么優(yōu)缺點(diǎn)以及mybatis和hibernate之間存在著怎么樣的關(guān)系,大家這些問題一起通過本文學(xué)習(xí)吧
    2016-09-09
  • java公眾平臺通用接口工具類HttpConnectUtil實(shí)例代碼

    java公眾平臺通用接口工具類HttpConnectUtil實(shí)例代碼

    下面小編就為大家分享一篇java公眾平臺通用接口工具類HttpConnectUtil實(shí)例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • Java語言面向?qū)ο缶幊趟枷胫惻c對象實(shí)例詳解

    Java語言面向?qū)ο缶幊趟枷胫惻c對象實(shí)例詳解

    這篇文章主要介紹了Java語言面向?qū)ο缶幊趟枷胫惻c對象實(shí)例詳解,還是十分不錯的,這里給大家分享下,需要的朋友可以參考。
    2017-10-10
  • spring循環(huán)依賴策略解析

    spring循環(huán)依賴策略解析

    這篇文章主要為大家詳細(xì)介紹了spring循環(huán)依賴策略,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • Springboot 如何設(shè)置啟動內(nèi)存

    Springboot 如何設(shè)置啟動內(nèi)存

    這篇文章主要介紹了Springboot 如何設(shè)置啟動內(nèi)存,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • 如何解決freemarker靜態(tài)化生成html頁面亂碼的問題

    如何解決freemarker靜態(tài)化生成html頁面亂碼的問題

    這篇文章主要介紹了如何解決freemarker靜態(tài)化生成html頁面亂碼的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Java通過JNI調(diào)用C++動態(tài)庫的完整流程詳解

    Java通過JNI調(diào)用C++動態(tài)庫的完整流程詳解

    JNI(Java Native Interface),是實(shí)現(xiàn)Java/Kotlin與C/C++語言之間交互的橋梁,本文主要為大家介紹了Java通過JNI調(diào)用C++動態(tài)庫的完整流程,需要的可以參考下
    2025-04-04
  • Springboot使用kafka的兩種方式

    Springboot使用kafka的兩種方式

    在公司用kafka比較多,今天整理下Springboot使用kafka的兩種方式,Kafka作為一個消息發(fā)布訂閱系統(tǒng),就包括消息生成者和消息消費(fèi)者,文中通過代碼示例介紹的非常詳細(xì),具有一定的參考價值,需要的朋友可以參考下
    2023-11-11
  • 淺析Java中的異常處理機(jī)制

    淺析Java中的異常處理機(jī)制

    這篇文章主要介紹了Java中的異常處理機(jī)制的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)Java,感興趣的朋友可以了解下
    2020-11-11
  • 詳解java構(gòu)建者模式Builder

    詳解java構(gòu)建者模式Builder

    這篇文章主要介紹了java構(gòu)建者模式Builder,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04

最新評論

承德县| 怀化市| 隆尧县| 台北市| 游戏| 兴山县| 潞城市| 云安县| 汉沽区| 广汉市| 新闻| 宿松县| 彭州市| 同心县| 曲阳县| 南城县| 乐安县| 宝兴县| 商南县| 体育| 关岭| 汽车| 浙江省| 濮阳市| 万年县| 南陵县| 田林县| 师宗县| 潼关县| 报价| 高碑店市| 东台市| 巴彦县| 余干县| 南靖县| 灵寿县| 鄂尔多斯市| 六枝特区| 天全县| 溧水县| 新宾|