javascript
操作方法:Spring Boot和Thymeleaf与Maven
Spring Boot是一款出色的軟件,可讓您在幾秒鐘內引導Spring應用程序。 它確實有效。 盡可能少的配置即可上手。 而且仍然可以更改默認值。 讓我們看看用Thymeleaf和Maven引導Spring MVC并在IntelliJ中使用它是多么容易。
Spring MVC + Thymeleaf與Maven的基本設置
確保使用以下命令安裝了Maven 3: mvn --version 。 導航到要在其中創建項目的目錄并執行Maven原型:
上面的命令將創建一個新目錄spring-boot-thymeleaf 。 現在,您可以將其導入到IDE中。 就我而言,這是IntelliJ。
下一步是配置應用程序。 打開pom.xml并添加一個父項目:如果未指定,則來自父項目的值將是該項目的默認值。
下一步是添加Web依賴項。 為此,我首先刪除了所有先前的依賴項(實際上是Junit 3.8.1),并添加了以下依賴項:現在,等待一秒鐘,直到Maven下載依賴項并運行mvn dependency:tree來查看包含了哪些依賴項。
接下來是包裝配置。 讓我們添加Spring Boot Maven插件:通過以上步驟,基本配置已準備就緒。 現在我們可以運行該應用程序了。 Spring Boot Maven插件提供了兩個run目標和repackage目標。 因此,讓我們使用mvn spring-boot:run應用程序。 該命令應產生Hello World! 。 請注意, App類具有main方法。 因此,實際上,您可以在IntellJ(或任何其他IDE)中運行此類。
Hello World!但請稍等。 這不是Web應用程序。 因此,讓我們修改App類,使其成為Spring Boot應用程序的入口點:
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);} }除了上述內容,我還將刪除AppTest因為它很爛(它是由maven-archetype-quickstart創建的)! 現在我們可以再次運行該應用程序以查看會發生什么:
java.lang.IllegalStateException: Cannot find template location: class path resource [templates/] (please add some templates or check your Thymeleaf configuration)明確。 然后添加一些Thymeleaf模板。
Thymeleaf模板放在哪里?
模板的默認位置是…classpath中可用的templates 。 因此,我們需要至少將一個模板放入src/main/resources/templates目錄。 讓我們創建一個簡單的例子:再次運行該應用程序將在端口8080上使用我們的應用程序啟動嵌入式Tomcat:
Tomcat started on port(s): 8080/http好。 但是缺少了一些東西。 當我們導航到localhost:8080 ,將看到404頁面。 當然! 還沒有控制器。 因此,讓我們創建一個:
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";} }再次運行該應用程序后,您應該可以看到Hello Spring Boot! 頁!
添加靜態資源
與Thymeleaf模板類似,默認情況下,靜態資源是從classpath提供的。
我們可以將CSS文件放入src/main/resources/css ,將JavaScript文件放入src/main/resources/js等。
在Thymeleaf模板中,我們像這樣引用它們:
將包裝從罐子轉換為戰爭
但是,如果我們想將應用程序作為純Web應用程序運行并將其作為war軟件包提供,該怎么辦? 使用Spring Boot相當容易。 首先,我們需要將pom.xml的包裝類型從jar轉換為war (包裝元素)。 其次-確保Tomcat是提供的依賴項:最后一步是引導servlet配置。 創建Init類并從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 。 戰爭文件應創建:
Building war: C:\Projects\demos\spring-boot-thymeleaf\target\spring-boot-thymeleaf-1.0-SNAPSHOT.war使用Maven直接從war文件啟動應用程序:
java -jar target\spring-boot-thymeleaf-1.0-SNAPSHOT.war有了一個戰爭項目,我們可以在IntelliJ中運行該應用程序。 更改包裝后,IntellJ應該檢測項目中的更改,并在其中添加Web構面。 下一步是配置并運行Tomcat服務器。 導航到“ Edit Configurations然后添加帶有爆炸戰爭產物的Tomcat服務器。 現在,您可以像其他任何Web應用程序一樣運行該應用程序。
重新加載Thymeleaf模板
由于該應用程序在IntelliJ中的本地Tomcat服務器上運行,因此我們可以在不重新啟動服務器的情況下重新加載靜態資源(例如CSS文件)。 但是默認情況下,Thymeleaf會緩存模板,因此為了更新Thymeleaf模板,我們需要更改此行為。 為此,使用以下屬性將application.properties添加到src/main/resources目錄: spring.thymeleaf.cache=false 。 重新啟動服務器,從現在開始,您可以重新加載Thymeleaf模板,而無需重新啟動服務器。
更改其他配置默認值
緩存配置不是我們可以調整的唯一可用配置。 請查看ThymeleafAutoConfiguration類以查看您可以更改的其他內容。 僅舉幾例: spring.thymeleaf.mode , spring.thymeleaf.encoding 。
最后的想法
Spring Boot簡化了引導Web應用程序的過程。 僅需幾步,您就可以擁有完全正常運行的Web應用程序,該應用程序可以是獨立的,也可以在任何servlet環境中運行。 除了學習Spring配置之外,您還可以專注于開發。 要進一步了解Spring Boot,請閱讀手冊并查看Spring指南,其中提供了許多有用的入門教程。 請享用!
資源資源
- Spring Boot Thymeleaf項目源
- Spring Boot參考指南
- Spring指南
- 胸腺項目
翻譯自: https://www.javacodegeeks.com/2014/04/how-to-spring-boot-and-thymeleaf-with-maven.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的操作方法:Spring Boot和Thymeleaf与Maven的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 强制手机连接电脑(强制手机连接电脑怎么操
- 下一篇: 京东电脑节下次是多久(京东电脑什么时候会