Spring?Boot?教程之創(chuàng)建項(xiàng)目的三種方式
一、前言
如果你是一個(gè)浸淫 SpringBoot 已久的老手,那么可能下面的內(nèi)容可能不那么適合你,寫(xiě)得很簡(jiǎn)單。但如果是 對(duì)于一個(gè)剛學(xué)習(xí) SpringBoot 的新手而言,我想多少還是有些用的。本文就來(lái)手把手教你如何創(chuàng)建一個(gè) SpringBoot 項(xiàng)目,并對(duì)其中的一些關(guān)鍵信息進(jìn)行簡(jiǎn)單分析,讓你更加快速地掌握如何創(chuàng)建一個(gè) SpringBoot 項(xiàng)目。
二、Spring Boot 簡(jiǎn)介
使用 Servlet/JSP 開(kāi)發(fā) JavaWeb 時(shí),一個(gè)接口對(duì)應(yīng)一個(gè)Servlet,配置很繁瑣。為盡量減少這種麻煩,Spring Boot 應(yīng)用而生。它是由 Pivotal 團(tuán)隊(duì)提供的全新框架,目的是用于簡(jiǎn)化 Spring 應(yīng)用的初始搭建即開(kāi)發(fā)過(guò)程。該框架使用特定方式進(jìn)行配置,從而使開(kāi)發(fā)人員無(wú)需定義樣板化的配置。
三、如何創(chuàng)建 Spring Boot 項(xiàng)目
Sping Boot 項(xiàng)目的本質(zhì)其實(shí)還是一個(gè) Maven 項(xiàng)目,主要有如下幾種創(chuàng)建 Spring Boot 項(xiàng)目的方式;
在線(xiàn)創(chuàng)建
- 打開(kāi) https://start.spring.io/ 來(lái)生成
Spring Boot項(xiàng)目;

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

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

- 將壓縮包下載后,解壓縮后用自己喜歡的 IDE 開(kāi)發(fā)即可;
IntelliJ IDEA 創(chuàng)建
- 新建項(xiàng)目時(shí)選擇
Spring Initializr;

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

- 選擇包,添加相關(guān)依賴(lài);

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

Maven 創(chuàng)建
- 新建 Maven 項(xiàng)目;

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

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

- 配置
pom.xml添加依賴(lài);
<?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)建一個(gè)包,然后新建一個(gè)類(lèi),比如我的如下;
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方法即可;

四、常見(jiàn)項(xiàng)目結(jié)構(gòu)
代碼層
根目錄:com.springboot:
build:工程啟動(dòng)類(lèi);entity:實(shí)體類(lèi);dao:數(shù)據(jù)訪(fǎng)問(wèn)層;service:數(shù)據(jù)服務(wù)層,業(yè)務(wù)類(lèi)代碼;controller:前端訪(fǎng)問(wèn)控制器;config:配置信息類(lèi);util:工具類(lèi);constant:常用接口類(lèi);vo:數(shù)據(jù)傳輸類(lèi);Application.java:項(xiàng)目的啟動(dòng)類(lèi);
資源文件結(jié)構(gòu)
根目錄 src/main/resources:
config:.properties、.json等配置文件;i18n:國(guó)際化相關(guān);META-INF/spring:spring.xml;static:頁(yè)面以及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 {
......
}
說(shuō)明
@SpringBootApplication 標(biāo)注該類(lèi)是一個(gè)啟動(dòng)類(lèi),每個(gè) Spring Boot 項(xiàng)目有且只有項(xiàng)目啟動(dòng)類(lèi)才能用該注解。可以看做是 @Configuration、@EnableAutoConfiguration、@ComponentScan 的組合注解。
@Configuration:允許在上下文中注冊(cè)額外的Bean或?qū)肫渌渲茫?/li>@EnableAutoConfiguration:?jiǎn)?dòng)Spring Boot的自動(dòng)配置機(jī)制;@ComponentScan:掃描被@ComponentScan(@Service、@Controller、@Repository)注解的Bean,默認(rèn)掃描該類(lèi)所在包下所有類(lèi),將這些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)目后,如果沒(méi)有選其他組件,會(huì)生成如上的 Spring Boot 項(xiàng)目依賴(lài),主要有四個(gè)部分:
- 項(xiàng)目元數(shù)據(jù)
創(chuàng)建時(shí)輸入的 Project Metadata 部分,即 Maven 項(xiàng)目的基本元素,包括 groupId、artifactId、version、name、description 等;
- parent
繼承 spring-boot-starter-parent 的依賴(lài)管理,控制版本與打包等等內(nèi)容;
- dependencies
項(xiàng)目具體依賴(lài),默認(rèn)包含 spring-boot-starter-web,用于實(shí)現(xiàn)HTTP接口(該依賴(lài)中包含了Spring MVC);spring-boot-starter-test用于編寫(xiě)單元測(cè)試的依賴(lài)包。后續(xù)開(kāi)發(fā)中,主要就是在這里添加各種依賴(lài)。
- build
構(gòu)建配置部分,默認(rèn)使用 spring-boot-maven-plugin,配合 spring-boot-starter-parent 可以把 Spring Boot 應(yīng)用打包成 jar 來(lái)直接運(yùn)行。
七、總結(jié)
文章主要介紹了兩種創(chuàng)建 SpringBoot 的方式,一種是通過(guò) Spring 官網(wǎng)在線(xiàn)創(chuàng)建的方式,另一種則是通過(guò) IDEA 創(chuàng)建的方式,兩個(gè)方式其實(shí)效果都是一樣的,只不過(guò)形式不同而已。
到此這篇關(guān)于Spring Boot 教程之創(chuàng)建項(xiàng)目的 三種方式的文章就介紹到這了,更多相關(guān)Spring Boot創(chuàng)建項(xiàng)目?jī)?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- IDEA下創(chuàng)建SpringBoot+MyBatis+MySql項(xiàng)目實(shí)現(xiàn)動(dòng)態(tài)登錄與注冊(cè)功能
- 詳解SpringBoot項(xiàng)目的創(chuàng)建與單元測(cè)試
- IDEA創(chuàng)建SpringBoot的maven項(xiàng)目的方法步驟
- eclipse創(chuàng)建springboot項(xiàng)目的三種方式總結(jié)
- 解決spring boot創(chuàng)建項(xiàng)目遇到配置的問(wèn)題
- IDEA教程創(chuàng)建SpringBoot前后端分離項(xiàng)目示例圖解
- springboot創(chuàng)建多module項(xiàng)目的實(shí)例
- SpringBoot?項(xiàng)目中創(chuàng)建線(xiàn)程池
相關(guān)文章
Java繼承Thread類(lèi)創(chuàng)建線(xiàn)程類(lèi)示例
這篇文章主要介紹了Java繼承Thread類(lèi)創(chuàng)建線(xiàn)程類(lèi),結(jié)合實(shí)例形式分析了java線(xiàn)程操作相關(guān)使用技巧與注意事項(xiàng),需要的朋友可以參考下2019-09-09
java?Springboot實(shí)現(xiàn)教務(wù)管理系統(tǒng)
這篇文章主要介紹了java?Springboot實(shí)現(xiàn)教務(wù)管理系統(tǒng)的過(guò)程,文章圍繞實(shí)現(xiàn)過(guò)程展開(kāi)全文詳細(xì)內(nèi)容,具有一定的參考價(jià)值,需要的朋友可以參考一下,希望對(duì)你有所幫助2021-11-11
java實(shí)現(xiàn)上傳圖片尺寸修改和質(zhì)量壓縮
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)上傳圖片尺寸修改和質(zhì)量壓縮,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04
spring boot 下支付寶的開(kāi)箱既用環(huán)境
這篇文章主要介紹了spring boot 下支付寶的開(kāi)箱既用環(huán)境包括使用場(chǎng)景和使用技巧,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧2017-10-10

