Spring Boot 項(xiàng)目搭建教程及注解
Spring Boot
Spring Boot是由Pivotal團(tuán)隊(duì)提供的全新框架,其設(shè)計(jì)目的是用來(lái)簡(jiǎn)化新Spring應(yīng)用的初始搭建以及開(kāi)發(fā)過(guò)程。該框架使用了特定的方式來(lái)進(jìn)行配置,從而使開(kāi)發(fā)人員不再需要定義樣板化的配置。通過(guò)這種方式,Spring Boot致力于在蓬勃發(fā)展的快速應(yīng)用開(kāi)發(fā)領(lǐng)域成為領(lǐng)導(dǎo)者
特點(diǎn):
1. 創(chuàng)建獨(dú)立的Spring應(yīng)用程序
2. 嵌入的Tomcat,無(wú)需部署WAR文件
3. 簡(jiǎn)化Maven配置
4. 自動(dòng)配置Spring
5. 提供生產(chǎn)就緒型功能,如指標(biāo),健康檢查和外部配置
6. 絕對(duì)沒(méi)有代碼生成和對(duì)XML沒(méi)有要求配置
Web項(xiàng)目的搭建
搭建環(huán)境及工具:IDEA工具+JDK環(huán)境+Maven環(huán)境
第一步:先new 一個(gè)project,選擇Spring Initializr,在選擇右邊的SDK,也就是你的JDK版本,默認(rèn)會(huì)從官網(wǎng)下載Spring Boot模板,直接next
第二步:這是項(xiàng)目中的一些細(xì)節(jié)東西,大致說(shuō)說(shuō)其中的意思
Group:對(duì)應(yīng)pom.xml文件中的groupId,項(xiàng)目組織的唯一標(biāo)識(shí),對(duì)應(yīng)Java包的結(jié)構(gòu)
Artifact:對(duì)應(yīng)pom.xml文件的artifactId,項(xiàng)目唯一標(biāo)識(shí),對(duì)應(yīng)項(xiàng)目名稱(chēng)
Type:我們是Maven構(gòu)建的,那么選擇第一個(gè)Maven Project
Language:開(kāi)發(fā)語(yǔ)言,選擇Java
Packaging:打包類(lèi)型,打包成Jar文件
Java Version:JDK版本,選擇1.8
Version:項(xiàng)目版本,對(duì)應(yīng)pom文件的version
Name:項(xiàng)目名稱(chēng)
Description:項(xiàng)目描述,對(duì)應(yīng)pom文件的description
Package:包名
大概都了解了,根據(jù)自己的需求填寫(xiě),測(cè)試的話就這樣默認(rèn)就可以,next
第三步:這里根據(jù)自己的需求,需要什么功能添加什么,我認(rèn)為這里的已經(jīng)非常的齊全了,選擇web,勾選web,要是想要SQL的可以點(diǎn)擊里面有MySQL,JDBC,Mybatis等一些數(shù)據(jù)庫(kù),選擇想要的直接next
第四步:也是最重要的,沒(méi)啥東西就直接finsh就好
完成之后的項(xiàng)目結(jié)構(gòu)目錄:我們可以將我選中的這幾個(gè)無(wú)關(guān)的文件刪除,都是Maven的一些文件,沒(méi)啥作用
講解一下其中一些文件的作用
最后在這個(gè)目錄下創(chuàng)建一個(gè)HelloController.java的類(lèi)
代碼:
@RestController public class HelloController { @RequestMapping(value = "/") public String hello(){ return "hello"; } }
之后運(yùn)行項(xiàng)目吧,在你的瀏覽器上輸入:localhost:8080就可以訪問(wèn)到了
這里我解釋一下其中注解的意思:
注解(annotations)列表
@ResponseBody
用該注解修飾的函數(shù),會(huì)將結(jié)果直接填充到HTTP的響應(yīng)體中,一般用于構(gòu)建RESTful的api;
@Controller
用于定義控制器類(lèi),在spring 項(xiàng)目中由控制器負(fù)責(zé)將用戶(hù)發(fā)來(lái)的URL請(qǐng)求轉(zhuǎn)發(fā)到對(duì)應(yīng)的服務(wù)接口(service層)。
@RestController
@ResponseBody和@Controller的合集
@RequestMapping
提供路由信息,負(fù)責(zé)URL到Controller中的具體函數(shù)的映射。
@EnableAutoConfiguration
Spring Boot自動(dòng)配置(auto-configuration):嘗試根據(jù)你添加的jar依賴(lài)自動(dòng)配置你的Spring應(yīng)用。例如,如果你的classpath下存在HSQLDB,并且你沒(méi)有手動(dòng)配置任何數(shù)據(jù)庫(kù)連接beans,那么我們將自動(dòng)配置一個(gè)內(nèi)存型(in-memory)數(shù)據(jù)庫(kù)”。你可以將@EnableAutoConfiguration或者@SpringBootApplication注解添加到一個(gè)@Configuration類(lèi)上來(lái)選擇自動(dòng)配置。如果發(fā)現(xiàn)應(yīng)用了你不想要的特定自動(dòng)配置類(lèi),你可以使用@EnableAutoConfiguration注解的排除屬性來(lái)禁用它們。例子代碼如下:
@ComponentScan
表示將該類(lèi)自動(dòng)發(fā)現(xiàn)(掃描)并注冊(cè)為Bean,可以自動(dòng)收集所有的Spring組件,包括@Configuration類(lèi)。我們經(jīng)常使用@ComponentScan注解搜索beans,并結(jié)合@Autowired注解導(dǎo)入。
@Configuration
相當(dāng)于傳統(tǒng)的xml配置文件,如果有些第三方庫(kù)需要用到xml文件,建議仍然通過(guò)@Configuration類(lèi)作為項(xiàng)目的配置主類(lèi)——可以使用@ImportResource注解加載xml配置文件。
@SpringBootApplication
相當(dāng)于@EnableAutoConfiguration、@ComponentScan和@Configuration的合集。
@Import
用來(lái)導(dǎo)入其他配置類(lèi)。
@ImportResource
用來(lái)加載xml配置文件。
@Autowired
自動(dòng)導(dǎo)入依賴(lài)的bean
@Service
一般用于修飾service層的組件
@Repository
使用@Repository注解可以確保DAO或者repositories提供異常轉(zhuǎn)譯,這個(gè)注解修飾的DAO或者repositories類(lèi)會(huì)被ComponetScan發(fā)現(xiàn)并配置,同時(shí)也不需要為它們提供XML配置項(xiàng)。
以上這篇Spring Boot 項(xiàng)目搭建教程及注解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
javax.management.InvalidApplicationException的問(wèn)題解決
javax.management.InvalidApplicationException是與Java Management Extensions (JMX) API相關(guān)的一個(gè)常見(jiàn)異常,本文主要介紹了javax.management.InvalidApplicationException的問(wèn)題解決,感興趣的可以了解一下2024-08-08Java中zip文件壓縮與解壓之ZipInputStream和ZipOutputStream
這篇文章主要給大家介紹了關(guān)于Java中zip文件壓縮與解壓之ZipInputStream和ZipOutputStream的相關(guān)資料,ZipInputStream 和 ZipOutputStream 可以用于處理 ZIP文件格式,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-10-10Spring Boot Security 結(jié)合 JWT 實(shí)現(xiàn)無(wú)狀態(tài)的分布式API接口
JSON Web Token(縮寫(xiě) JWT)是目前最流行的跨域認(rèn)證解決方案。這篇文章主要介紹了Spring Boot Security 結(jié)合 JWT 實(shí)現(xiàn)無(wú)狀態(tài)的分布式API接口 ,需要的朋友可以參考下2019-04-04Java實(shí)現(xiàn)航空航班管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)航空航班管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-07-07java中Statement 與 PreparedStatement接口之間的關(guān)系和區(qū)別
這篇文章主要介紹了java中Statement 與 PreparedStatement接口之間的關(guān)系和區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07Java正則表達(dá)式,提取雙引號(hào)中間的部分方法
今天小編就為大家分享一篇Java正則表達(dá)式,提取雙引號(hào)中間的部分方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07