在這篇文章中,我們將探討使用Spring Boot創建Web應用程序的細節。 我們將探索Spring Boot如何幫助你加速應用程序開發。
我們將使用Spring Boot構建一個簡單的Web應用程序,並為其添加一些有用的服務。
1. 介紹
啟動一個新項目的主要挑戰之一是該項目的初始設置。 我們需要對不同的目錄結構進行調用,並且需要確保我們遵循所有行業標準。對於使用Spring Boot創建Web應用程序,我們需要以下工具:
2. 創建項目結構
有多種方式可以使用Spring Boot Initializr為你生成項目結構:
為了簡化這篇文章,我們使用Spring Initializer的網頁界面來生成項目結構。
用你的瀏覽器訪問Spring Initializr Web界面,你將看到一個嚮導來開始你的配置。
你需要填寫網頁界面中的一些信息才能開始。
依賴是Web界面中的一個有趣功能,根據你選擇的依賴,Web界面會自動在生成的pom.xml文件中添加Spring Boot Starter依賴。如果你希望對生成的項目結構進行更多控制,或者不確定所有你想要添加到項目中的依賴,請單擊“Switch to the full version”按鈕。
在本文中,我們將使用Web和Thymeleaf(用於用戶界面)兩個Starter。
3. 項目結構
Spring Boot不需要任何特定的代碼佈局或結構。我們始終可以遵循Spring Boot團隊提出的一些最佳實踐,但最終結構將由你的項目需求驅動。
下圖是我們例子應用的項目結構:
4. pom.xml
我們來看看pom.xml文件,詳細地了解Spring Boot配置。 我將僅涵蓋pom.xml中與Spring Boot相關的更改。 以下是我們示例項目中的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>com.javadevjournal</groupId> <artifactId>javadevspringboot</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <name>javadevspringboot</name> <description>Java Dev Journal project for Spring Boot</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.4.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies></project>
Spring Boot的主要特性之一是“Starter”,它們是在我們的類路徑中添加所需依賴項(jar包)的簡單方法。 當使用Spring Boot時,我們不必在我們的類路徑中添加jar包或依賴項(如果starter不可用,你可能必須將這些依賴項添加到pom.xml中,或者可以創建自己的自定義starter)。 我們只需要在我們的pom.xml文件中添加正確的“Starter”,Spring Boot將確保自動添加這些依賴。
5. 主應用
如下所示是我們的Spring Boot應用程序主類,它也是一個Spring配置類。 註解@SpringBootApplication啟用Spring上下文以及Spring Boot的所有啟動魔法。
@SpringBootApplicationpublic class WebApplication extends WebMvcConfigurerAdapter { public static void main(String[] args) { SpringApplication.run(WebApplication.class, args); }}5. 1 @SpringBootApplication 註解
@SpringBootApplication相當於使用@Configuration,@EnableAutoConfiguration和@ComponentScan以及它們的默認值。如果要開始項目,建議使用這個註解。
在主類中使用@SpringBootApplication相當於同時使用以下3個註解:
5. 2 主方法
我們主類的另一個有趣特點是主方法。 這是遵循標準Java工作流程的標準方法。 我們的主類將把控制權交給Spring Boot SpringApplication類。
SpringApplication類的run方法將用於引導一個應用程序。
6. Welcome Controller
我們設置的最後一部分,我們將創建一個welcome controller,負責通過返回View的名稱(在本例中為“welcome”)處理/greeting的GET請求。 視圖負責呈現HTML內容。
import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;@Controllerpublic class WelcomeController { @RequestMapping("/welcome") public String welcome() { return "welcome"; }}這是一個非常簡單的控制器,但在我們的設置中涵蓋了很多要點。
6. 1 UI Template
如下我們簡單的Thymeleaf HTML模板。
<!DOCTYPE HTML><html xmlns:th="http://www.thymeleaf.org"><head> <title>Getting Started: Serving Web Content</title></head><body>Hello and Welcome to our Web Application</body></html>
當使用Thymeleaf作為我們的模板引擎時,Spring Boot將通過在視圖名稱前後加上前綴和後綴(配置參數分別是:spring.thymeleaf.prefix和spring.thymeleaf.suffix,它們的默認的值是:'classpath:/templates/'和'html')。
7. 運行程序
我們完成了我們簡單的Web應用程序,現在是時候運行我們的應用程序了。 儘管可以將此服務作為傳統WAR文件打包以部署到外部應用程序服務器上,但更簡單的方法是創建獨立應用程序。 要從IDE運行我們的應用程序,我們需要將我們的Web應用程序作為獨立的Java應用程序運行。
現在,該網站已啟動並正在運行,請訪問http://localhost:8080/welcome ,如果一切正常,則應在Web瀏覽器中輸出以下內容。
Hello and Welcome to our Web Application
8. 總結
在這篇文章中,我們學習了使用Spring Boot創建Web應用程序。 Spring Boot具有許多功能,可以更快,更輕鬆地創建和運行Web應用程序。
原文鏈接: https://www.javadevjournal.com/spring/creating-a-web-application-with-spring-boot/
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。