Spring?Boot?教程之創(chuàng)建項目的三種方式
一、前言
如果你是一個浸淫 SpringBoot 已久的老手,那么可能下面的內(nèi)容可能不那么適合你,寫得很簡單。但如果是 對于一個剛學(xué)習(xí) SpringBoot 的新手而言,我想多少還是有些用的。本文就來手把手教你如何創(chuàng)建一個 SpringBoot 項目,并對其中的一些關(guān)鍵信息進(jìn)行簡單分析,讓你更加快速地掌握如何創(chuàng)建一個 SpringBoot 項目。
二、Spring Boot 簡介
使用 Servlet/JSP 開發(fā) JavaWeb 時,一個接口對應(yīng)一個Servlet,配置很繁瑣。為盡量減少這種麻煩,Spring Boot 應(yīng)用而生。它是由 Pivotal 團(tuán)隊提供的全新框架,目的是用于簡化 Spring 應(yīng)用的初始搭建即開發(fā)過程。該框架使用特定方式進(jìn)行配置,從而使開發(fā)人員無需定義樣板化的配置。
三、如何創(chuàng)建 Spring Boot 項目
Sping Boot 項目的本質(zhì)其實還是一個 Maven 項目,主要有如下幾種創(chuàng)建 Spring Boot 項目的方式;
在線創(chuàng)建
- 打開 https://start.spring.io/ 來生成
Spring Boot
項目;
- 然后選擇和填寫相關(guān)配置;
- Project:表示使用什么構(gòu)建工具,Maven or Gradle;
- Language:表示使用什么編程語言, Java 、Kotlin or Groovy;
- Spring Boot:Spring Boot 的版本;
- Project Metadata:項目元數(shù)據(jù),即 Maven項目基本元素,根據(jù)自己的實際情況填寫;
- Dependencies:要加入的 Spring Boot 組件;
- 然后點擊生成或
Ctrl + Enter
即可;
- 將壓縮包下載后,解壓縮后用自己喜歡的 IDE 開發(fā)即可;
IntelliJ IDEA 創(chuàng)建
- 新建項目時選擇
Spring Initializr
;
- 點擊下一步,填寫相關(guān)配置;
Group
:組織 ID,一般分為多個段,一般第一段為域,而第二段則是 公司名稱;Artifact
:唯一標(biāo)識符,一般是項目名;
- 選擇包,添加相關(guān)依賴;
- 配置項目名,點擊完成即可;
Maven 創(chuàng)建
- 新建 Maven 項目;
- 填寫項目名和相關(guā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!"; } }
- 運行上一步中的
main
方法即可;
四、常見項目結(jié)構(gòu)
代碼層
根目錄:com.springboot
:
build
:工程啟動類;entity
:實體類;dao
:數(shù)據(jù)訪問層;service
:數(shù)據(jù)服務(wù)層,業(yè)務(wù)類代碼;controller
:前端訪問控制器;config
:配置信息類;util
:工具類;constant
:常用接口類;vo
:數(shù)據(jù)傳輸類;Application.java
:項目的啟動類;
資源文件結(jié)構(gòu)
根目錄 src/main/resources
:
config
:.properties、.json
等配置文件;i18n
:國際化相關(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)注該類是一個啟動類,每個 Spring Boot 項目有且只有項目啟動類才能用該注解??梢钥醋鍪?@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)建好項目后,如果沒有選其他組件,會生成如上的 Spring Boot 項目依賴,主要有四個部分:
- 項目元數(shù)據(jù)
創(chuàng)建時輸入的 Project Metadata 部分,即 Maven 項目的基本元素,包括 groupId、artifactId、version、name、description
等;
- parent
繼承 spring-boot-starter-parent
的依賴管理,控制版本與打包等等內(nèi)容;
- dependencies
項目具體依賴,默認(rèn)包含 spring-boot-starter-web
,用于實現(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 來直接運行。
七、總結(jié)
文章主要介紹了兩種創(chuàng)建 SpringBoot 的方式,一種是通過 Spring 官網(wǎng)在線創(chuàng)建的方式,另一種則是通過 IDEA 創(chuàng)建的方式,兩個方式其實效果都是一樣的,只不過形式不同而已。
到此這篇關(guān)于Spring Boot 教程之創(chuàng)建項目的 三種方式的文章就介紹到這了,更多相關(guān)Spring Boot創(chuàng)建項目內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java?Springboot實現(xiàn)教務(wù)管理系統(tǒng)
這篇文章主要介紹了java?Springboot實現(xiàn)教務(wù)管理系統(tǒng)的過程,文章圍繞實現(xiàn)過程展開全文詳細(xì)內(nèi)容,具有一定的參考價值,需要的朋友可以參考一下,希望對你有所幫助2021-11-11java實現(xiàn)上傳圖片尺寸修改和質(zhì)量壓縮
這篇文章主要為大家詳細(xì)介紹了java實現(xiàn)上傳圖片尺寸修改和質(zhì)量壓縮,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-04-04