javascript
操作方法:Spring Boot和Thymeleaf与Maven
Spring Boot是一款出色的軟件,可讓您在幾秒鐘內(nèi)引導(dǎo)Spring應(yīng)用程序。 它確實(shí)有效。 盡可能少的配置即可上手。 而且仍然可以更改默認(rèn)值。 讓我們看看用Thymeleaf和Maven引導(dǎo)Spring MVC并在IntelliJ中使用它是多么容易。
Spring MVC + Thymeleaf與Maven的基本設(shè)置
確保使用以下命令安裝了Maven 3: mvn --version 。 導(dǎo)航到要在其中創(chuàng)建項(xiàng)目的目錄并執(zhí)行Maven原型:
上面的命令將創(chuàng)建一個(gè)新目錄spring-boot-thymeleaf 。 現(xiàn)在,您可以將其導(dǎo)入到IDE中。 就我而言,這是IntelliJ。
下一步是配置應(yīng)用程序。 打開(kāi)pom.xml并添加一個(gè)父項(xiàng)目:如果未指定,則來(lái)自父項(xiàng)目的值將是該項(xiàng)目的默認(rèn)值。
下一步是添加Web依賴(lài)項(xiàng)。 為此,我首先刪除了所有先前的依賴(lài)項(xiàng)(實(shí)際上是Junit 3.8.1),并添加了以下依賴(lài)項(xiàng):現(xiàn)在,等待一秒鐘,直到Maven下載依賴(lài)項(xiàng)并運(yùn)行mvn dependency:tree來(lái)查看包含了哪些依賴(lài)項(xiàng)。
接下來(lái)是包裝配置。 讓我們添加Spring Boot Maven插件:通過(guò)以上步驟,基本配置已準(zhǔn)備就緒。 現(xiàn)在我們可以運(yùn)行該應(yīng)用程序了。 Spring Boot Maven插件提供了兩個(gè)run目標(biāo)和repackage目標(biāo)。 因此,讓我們使用mvn spring-boot:run應(yīng)用程序。 該命令應(yīng)產(chǎn)生Hello World! 。 請(qǐng)注意, App類(lèi)具有main方法。 因此,實(shí)際上,您可以在IntellJ(或任何其他IDE)中運(yùn)行此類(lèi)。
Hello World!但請(qǐng)稍等。 這不是Web應(yīng)用程序。 因此,讓我們修改App類(lèi),使其成為Spring Boot應(yīng)用程序的入口點(diǎn):
package pl.codeleak.demos.sbt;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration;@EnableAutoConfiguration @Configuration @ComponentScan public class App {public static void main(String[] args) {SpringApplication.run(App.class);} }除了上述內(nèi)容,我還將刪除AppTest因?yàn)樗軤€(它是由maven-archetype-quickstart創(chuàng)建的)! 現(xiàn)在我們可以再次運(yùn)行該應(yīng)用程序以查看會(huì)發(fā)生什么:
java.lang.IllegalStateException: Cannot find template location: class path resource [templates/] (please add some templates or check your Thymeleaf configuration)明確。 然后添加一些Thymeleaf模板。
Thymeleaf模板放在哪里?
模板的默認(rèn)位置是…classpath中可用的templates 。 因此,我們需要至少將一個(gè)模板放入src/main/resources/templates目錄。 讓我們創(chuàng)建一個(gè)簡(jiǎn)單的例子:再次運(yùn)行該應(yīng)用程序?qū)⒃诙丝?080上使用我們的應(yīng)用程序啟動(dòng)嵌入式Tomcat:
Tomcat started on port(s): 8080/http好。 但是缺少了一些東西。 當(dāng)我們導(dǎo)航到localhost:8080 ,將看到404頁(yè)面。 當(dāng)然! 還沒(méi)有控制器。 因此,讓我們創(chuàng)建一個(gè):
package pl.codeleak.demos.sbt.home;import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping;@Controller class HomeController {@RequestMapping("/")String index() {return "index";} }再次運(yùn)行該應(yīng)用程序后,您應(yīng)該可以看到Hello Spring Boot! 頁(yè)!
添加靜態(tài)資源
與Thymeleaf模板類(lèi)似,默認(rèn)情況下,靜態(tài)資源是從classpath提供的。
我們可以將CSS文件放入src/main/resources/css ,將JavaScript文件放入src/main/resources/js等。
在Thymeleaf模板中,我們像這樣引用它們:
將包裝從罐子轉(zhuǎn)換為戰(zhàn)爭(zhēng)
但是,如果我們想將應(yīng)用程序作為純Web應(yīng)用程序運(yùn)行并將其作為war軟件包提供,該怎么辦? 使用Spring Boot相當(dāng)容易。 首先,我們需要將pom.xml的包裝類(lèi)型從jar轉(zhuǎn)換為war (包裝元素)。 其次-確保Tomcat是提供的依賴(lài)項(xiàng):最后一步是引導(dǎo)servlet配置。 創(chuàng)建Init類(lèi)并從SpringBootServletInitializer繼承:
package pl.codeleak.demos.sbt;import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.context.web.SpringBootServletInitializer;public class Init extends SpringBootServletInitializer {@Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder application) {return application.sources(App.class);} }我們可以檢查配置是否適用于Maven: mvn clean package 。 戰(zhàn)爭(zhēng)文件應(yīng)創(chuàng)建:
Building war: C:\Projects\demos\spring-boot-thymeleaf\target\spring-boot-thymeleaf-1.0-SNAPSHOT.war使用Maven直接從war文件啟動(dòng)應(yīng)用程序:
java -jar target\spring-boot-thymeleaf-1.0-SNAPSHOT.war有了一個(gè)戰(zhàn)爭(zhēng)項(xiàng)目,我們可以在IntelliJ中運(yùn)行該應(yīng)用程序。 更改包裝后,IntellJ應(yīng)該檢測(cè)項(xiàng)目中的更改,并在其中添加Web構(gòu)面。 下一步是配置并運(yùn)行Tomcat服務(wù)器。 導(dǎo)航到“ Edit Configurations然后添加帶有爆炸戰(zhàn)爭(zhēng)產(chǎn)物的Tomcat服務(wù)器。 現(xiàn)在,您可以像其他任何Web應(yīng)用程序一樣運(yùn)行該應(yīng)用程序。
重新加載Thymeleaf模板
由于該應(yīng)用程序在IntelliJ中的本地Tomcat服務(wù)器上運(yùn)行,因此我們可以在不重新啟動(dòng)服務(wù)器的情況下重新加載靜態(tài)資源(例如CSS文件)。 但是默認(rèn)情況下,Thymeleaf會(huì)緩存模板,因此為了更新Thymeleaf模板,我們需要更改此行為。 為此,使用以下屬性將application.properties添加到src/main/resources目錄: spring.thymeleaf.cache=false 。 重新啟動(dòng)服務(wù)器,從現(xiàn)在開(kāi)始,您可以重新加載Thymeleaf模板,而無(wú)需重新啟動(dòng)服務(wù)器。
更改其他配置默認(rèn)值
緩存配置不是我們可以調(diào)整的唯一可用配置。 請(qǐng)查看ThymeleafAutoConfiguration類(lèi)以查看您可以更改的其他內(nèi)容。 僅舉幾例: spring.thymeleaf.mode , spring.thymeleaf.encoding 。
最后的想法
Spring Boot簡(jiǎn)化了引導(dǎo)Web應(yīng)用程序的過(guò)程。 僅需幾步,您就可以擁有完全正常運(yùn)行的Web應(yīng)用程序,該應(yīng)用程序可以是獨(dú)立的,也可以在任何servlet環(huán)境中運(yùn)行。 除了學(xué)習(xí)Spring配置之外,您還可以專(zhuān)注于開(kāi)發(fā)。 要進(jìn)一步了解Spring Boot,請(qǐng)閱讀手冊(cè)并查看Spring指南,其中提供了許多有用的入門(mén)教程。 請(qǐng)享用!
資源資源
- Spring Boot Thymeleaf項(xiàng)目源
- Spring Boot參考指南
- Spring指南
- 胸腺項(xiàng)目
翻譯自: https://www.javacodegeeks.com/2014/04/how-to-spring-boot-and-thymeleaf-with-maven.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的操作方法:Spring Boot和Thymeleaf与Maven的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 强制手机连接电脑(强制手机连接电脑怎么操
- 下一篇: gradle idea java ssm