Spring?Boot?教程之創(chuàng)建項(xiàng)目的三種方式
一、前言
如果你是一個(gè)浸淫 SpringBoot 已久的老手,那么可能下面的內(nèi)容可能不那么適合你,寫得很簡(jiǎn)單。但如果是 對(duì)于一個(gè)剛學(xué)習(xí) SpringBoot 的新手而言,我想多少還是有些用的。本文就來手把手教你如何創(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 開發(fā) JavaWeb 時(shí),一個(gè)接口對(duì)應(yīng)一個(gè)Servlet,配置很繁瑣。為盡量減少這種麻煩,Spring Boot 應(yīng)用而生。它是由 Pivotal 團(tuán)隊(duì)提供的全新框架,目的是用于簡(jiǎn)化 Spring 應(yīng)用的初始搭建即開發(fā)過程。該框架使用特定方式進(jìn)行配置,從而使開發(fā)人員無需定義樣板化的配置。
三、如何創(chuàng)建 Spring Boot 項(xiàng)目
Sping Boot 項(xiàng)目的本質(zhì)其實(shí)還是一個(gè) 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)目時(shí)選擇
Spring Initializr;

- 點(diǎn)擊下一步,填寫相關(guān)配置;
Group:組織 ID,一般分為多個(gè)段,一般第一段為域,而第二段則是 公司名稱;Artifact:唯一標(biāo)識(shí)符,一般是項(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)建一個(gè)包,然后新建一個(gè)類,比如我的如下;
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:工程啟動(dòng)類;entity:實(shí)體類;dao:數(shù)據(jù)訪問層;service:數(shù)據(jù)服務(wù)層,業(yè)務(wù)類代碼;controller:前端訪問控制器;config:配置信息類;util:工具類;constant:常用接口類;vo:數(shù)據(jù)傳輸類;Application.java:項(xiàng)目的啟動(dòng)類;
資源文件結(jié)構(gòu)
根目錄 src/main/resources:
config:.properties、.json等配置文件;i18n:國(guó)際化相關(guān);META-INF/spring:spring.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)注該類是一個(gè)啟動(dòng)類,每個(gè) Spring Boot 項(xiàng)目有且只有項(xiàng)目啟動(dòng)類才能用該注解??梢钥醋鍪?@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)掃描該類所在包下所有類,將這些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)目后,如果沒有選其他組件,會(huì)生成如上的 Spring Boot 項(xiàng)目依賴,主要有四個(gè)部分:
- 項(xiàng)目元數(shù)據(jù)
創(chuàng)建時(shí)輸入的 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用于編寫單元測(cè)試的依賴包。后續(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)建的方式,兩個(gè)方式其實(shí)效果都是一樣的,只不過形式不同而已。
到此這篇關(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)目遇到配置的問題
- IDEA教程創(chuàng)建SpringBoot前后端分離項(xiàng)目示例圖解
- springboot創(chuàng)建多module項(xiàng)目的實(shí)例
- SpringBoot?項(xiàng)目中創(chuàng)建線程池
相關(guān)文章
java?Springboot實(shí)現(xiàn)教務(wù)管理系統(tǒng)
這篇文章主要介紹了java?Springboot實(shí)現(xiàn)教務(wù)管理系統(tǒng)的過程,文章圍繞實(shí)現(xiàn)過程展開全文詳細(xì)內(nèi)容,具有一定的參考價(jià)值,需要的朋友可以參考一下,希望對(duì)你有所幫助2021-11-11
java實(shí)現(xiàn)上傳圖片尺寸修改和質(zhì)量壓縮
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)上傳圖片尺寸修改和質(zhì)量壓縮,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04

