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)目的方式;
在線創(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è)段,一般第一段為域,而第二段則是 公司名稱;Artifact
:唯一標(biāo)識(shí)符,一般是項(xiàng)目名;
- 選擇包,添加相關(guān)依賴;
- 配置項(xiàng)目名,點(diǎn)擊完成即可;
Maven 創(chuàng)建
- 新建 Maven 項(xiàng)目;
- 填寫(xiě)項(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
方法即可;
四、常見(jiàn)項(xiàng)目結(jié)構(gòu)
代碼層
根目錄:com.springboot
:
build
:工程啟動(dòng)類;entity
:實(shí)體類;dao
:數(shù)據(jù)訪問(wèn)層;service
:數(shù)據(jù)服務(wù)層,業(yè)務(wù)類代碼;controller
:前端訪問(wèn)控制器;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
:頁(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)注該類是一個(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)目后,如果沒(méi)有選其他組件,會(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
用于編寫(xiě)單元測(cè)試的依賴包。后續(xù)開(kāi)發(fā)中,主要就是在這里添加各種依賴。
- 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)在線創(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)建線程池
相關(guān)文章
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-11java實(shí)現(xiàn)上傳圖片尺寸修改和質(zhì)量壓縮
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)上傳圖片尺寸修改和質(zhì)量壓縮,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04spring boot 下支付寶的開(kāi)箱既用環(huán)境
這篇文章主要介紹了spring boot 下支付寶的開(kāi)箱既用環(huán)境包括使用場(chǎng)景和使用技巧,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧2017-10-10