最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Spring Boot創(chuàng)建Web應(yīng)用程序的示例代碼

 更新時(shí)間:2018年05月28日 10:44:41   作者:彭政生  
本篇文章主要介紹了使用Spring Boot創(chuàng)建Web應(yīng)用程序的示例代碼,我們將使用Spring Boot構(gòu)建一個(gè)簡(jiǎn)單的Web應(yīng)用程序,并為其添加一些有用的服務(wù),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

在這篇文章中,我們將探討使用Spring Boot創(chuàng)建Web應(yīng)用程序的細(xì)節(jié)。 我們將探索Spring Boot如何幫助你加速應(yīng)用程序開(kāi)發(fā)。

我們將使用Spring Boot構(gòu)建一個(gè)簡(jiǎn)單的Web應(yīng)用程序,并為其添加一些有用的服務(wù)。

1. 介紹

啟動(dòng)一個(gè)新項(xiàng)目的主要挑戰(zhàn)之一是該項(xiàng)目的初始設(shè)置。 我們需要對(duì)不同的目錄結(jié)構(gòu)進(jìn)行調(diào)用,并且需要確保我們遵循所有行業(yè)標(biāo)準(zhǔn)。對(duì)于使用Spring Boot創(chuàng)建Web應(yīng)用程序,我們需要以下工具:

  1. 我們自己喜歡的IDE (我將使用IntelliJ)
  2. Maven
  3. JDK 1.8+

2. 創(chuàng)建項(xiàng)目結(jié)構(gòu)

有多種方式可以使用Spring Boot Initializr為你生成項(xiàng)目結(jié)構(gòu):

  1. 使用Spring Initializr Web界面。
  2. 使用Spring Boot CLI工具。
  3. 使用你的IDE

為了簡(jiǎn)化這篇文章,我們使用Spring Initializer的網(wǎng)頁(yè)界面來(lái)生成項(xiàng)目結(jié)構(gòu)。

用你的瀏覽器訪問(wèn)Spring Initializr Web界面,你將看到一個(gè)向?qū)?lái)開(kāi)始你的配置。

你需要填寫(xiě)網(wǎng)頁(yè)界面中的一些信息才能開(kāi)始。

  1. 你想要生成什么類型的項(xiàng)目(Maven或Gradle)
  2. 你選擇什么語(yǔ)言(除了Java,你還可以選擇Kotlin或Groovy)?
  3. Spring Boot版本
  4. 標(biāo)準(zhǔn)的項(xiàng)目組和工件細(xì)節(jié)。
  5. 依賴

依賴是Web界面中的一個(gè)有趣功能,根據(jù)你選擇的依賴,Web界面會(huì)自動(dòng)在生成的pom.xml文件中添加Spring Boot Starter依賴。如果你希望對(duì)生成的項(xiàng)目結(jié)構(gòu)進(jìn)行更多控制,或者不確定所有你想要添加到項(xiàng)目中的依賴,請(qǐng)單擊“Switch to the full version”按鈕。

在本文中,我們將使用Web和Thymeleaf(用于用戶界面)兩個(gè)Starter。

3. 項(xiàng)目結(jié)構(gòu)

Spring Boot不需要任何特定的代碼布局或結(jié)構(gòu)。我們始終可以遵循Spring Boot團(tuán)隊(duì)提出的一些最佳實(shí)踐,但最終結(jié)構(gòu)將由你的項(xiàng)目需求驅(qū)動(dòng)。

下圖是我們例子應(yīng)用的項(xiàng)目結(jié)構(gòu):

4. pom.xml

我們來(lái)看看pom.xml文件,詳細(xì)地了解Spring Boot配置。 我將僅涵蓋pom.xml中與Spring Boot相關(guān)的更改。 以下是我們示例項(xiàng)目中的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”,它們是在我們的類路徑中添加所需依賴項(xiàng)(jar包)的簡(jiǎn)單方法。 當(dāng)使用Spring Boot時(shí),我們不必在我們的類路徑中添加jar包或依賴項(xiàng)(如果starter不可用,你可能必須將這些依賴項(xiàng)添加到pom.xml中,或者可以創(chuàng)建自己的自定義starter)。 我們只需要在我們的pom.xml文件中添加正確的“Starter”,Spring Boot將確保自動(dòng)添加這些依賴。

5. 主應(yīng)用

如下所示是我們的Spring Boot應(yīng)用程序主類,它也是一個(gè)Spring配置類。 注解@SpringBootApplication啟用Spring上下文以及Spring Boot的所有啟動(dòng)魔法。 

@SpringBootApplication
public class WebApplication extends WebMvcConfigurerAdapter {
  public static void main(String[] args) {
   SpringApplication.run(WebApplication.class, args);
  }
}

5. 1 @SpringBootApplication 注解

@SpringBootApplication相當(dāng)于使用@Configuration,@EnableAutoConfiguration和@ComponentScan以及它們的默認(rèn)值。如果要開(kāi)始項(xiàng)目,建議使用這個(gè)注解。

在主類中使用@SpringBootApplication相當(dāng)于同時(shí)使用以下3個(gè)注解:

  1. @Configuration作為bean定義的來(lái)源。
  2. @EnableAutoConfiguration,它為Spring Boot提供了如何配置應(yīng)用程序。
  3. @ComponentScan自動(dòng)獲取所有Spring組件,包括@Configuration類。

5. 2 主方法

我們主類的另一個(gè)有趣特點(diǎn)是主方法。 這是遵循標(biāo)準(zhǔn)Java工作流程的標(biāo)準(zhǔn)方法。 我們的主類將把控制權(quán)交給Spring Boot SpringApplication類。

SpringApplication類的run方法將用于引導(dǎo)一個(gè)應(yīng)用程序。

6. Welcome Controller

我們?cè)O(shè)置的最后一部分,我們將創(chuàng)建一個(gè)welcome controller,負(fù)責(zé)通過(guò)返回View的名稱(在本例中為“welcome”)處理/greeting的GET請(qǐng)求。 視圖負(fù)責(zé)呈現(xiàn)HTML內(nèi)容。 

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class WelcomeController {
  @RequestMapping("/welcome")
  public String welcome() {
    return "welcome";
  }
}

這是一個(gè)非常簡(jiǎn)單的控制器,但在我們的設(shè)置中涵蓋了很多要點(diǎn)。

  1. @Controller注解表示被注解的類是“控制器”(例如Web controller)。
  2. @RequestMapping注解可確保將對(duì)/welcome的HTTP請(qǐng)求映射到welcome()方法。
  3. 我們沒(méi)有為@RequestMapping注解指定任何HTTP方法,因此默認(rèn)情況下,映射所有HTTP方法。
  4. 由于我們使用Thymeleaf進(jìn)行視圖技術(shù)并從welcome()方法返回“welcome”,因此Thymeleaf會(huì)解析模板welcome.html并生成輸出。

6. 1 UI Template

如下我們簡(jiǎn)單的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>

當(dāng)使用Thymeleaf作為我們的模板引擎時(shí),Spring Boot將通過(guò)在視圖名稱前后加上前綴和后綴(配置參數(shù)分別是:spring.thymeleaf.prefix和spring.thymeleaf.suffix,它們的默認(rèn)的值是:'classpath:/templates/‘和'html')。

7. 運(yùn)行程序

我們完成了我們簡(jiǎn)單的Web應(yīng)用程序,現(xiàn)在是時(shí)候運(yùn)行我們的應(yīng)用程序了。 盡管可以將此服務(wù)作為傳統(tǒng)WAR文件打包以部署到外部應(yīng)用程序服務(wù)器上,但更簡(jiǎn)單的方法是創(chuàng)建獨(dú)立應(yīng)用程序。 要從IDE運(yùn)行我們的應(yīng)用程序,我們需要將我們的Web應(yīng)用程序作為獨(dú)立的Java應(yīng)用程序運(yùn)行。

  1. 如果使用Maven,我們可以使用mvn spring-boot:run命令運(yùn)行應(yīng)用程序。
  2. 我們可以使用mvn clean package命令構(gòu)建Jar包,并使用java -jar target/demo-app-0.1.0.jar運(yùn)行這個(gè)jar包。

現(xiàn)在,該網(wǎng)站已啟動(dòng)并正在運(yùn)行,請(qǐng)?jiān)L問(wèn) http://localhost:8080/welcome ,如果一切正常,則應(yīng)在Web瀏覽器中輸出以下內(nèi)容。

Hello and Welcome to our Web Application

8. 總結(jié)

在這篇文章中,我們學(xué)習(xí)了使用Spring Boot創(chuàng)建Web應(yīng)用程序。 Spring Boot具有許多功能,可以更快,更輕松地創(chuàng)建和運(yùn)行Web應(yīng)用程序。

原文鏈接: https://www.javadevjournal.com/spring/creating-a-web-application-with-spring-boot/

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java使用JNDI連接數(shù)據(jù)庫(kù)的實(shí)現(xiàn)方法

    Java使用JNDI連接數(shù)據(jù)庫(kù)的實(shí)現(xiàn)方法

    本文主要介紹了Java使用JNDI連接數(shù)據(jù)庫(kù)的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • jvm調(diào)優(yōu)常用命令行工具詳解

    jvm調(diào)優(yōu)常用命令行工具詳解

    這篇文章主要介紹了jvm調(diào)優(yōu)常用命令行工具的用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • java郵件發(fā)送的實(shí)現(xiàn)

    java郵件發(fā)送的實(shí)現(xiàn)

    本篇是用于java來(lái)實(shí)現(xiàn)郵件的發(fā)送的實(shí)例代碼,基于smtp服務(wù),有需要的可以參考一下。
    2016-10-10
  • java中Integer包裝類裝箱的一個(gè)細(xì)節(jié)詳解

    java中Integer包裝類裝箱的一個(gè)細(xì)節(jié)詳解

    Java中的Integer是int的包裝類型,下面這篇文章主要給大家介紹了關(guān)于java中Integer包裝類裝箱的一個(gè)細(xì)節(jié)的相關(guān)資料,文中介紹的這個(gè)細(xì)節(jié)挺重要的,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起看看吧
    2018-07-07
  • 深入解析Java中的JDBC事務(wù)

    深入解析Java中的JDBC事務(wù)

    這篇文章主要介紹了深入解析Java中的JDBC事務(wù),包含了Java多線程的事務(wù)并發(fā)等知識(shí),需要的朋友可以參考下
    2015-08-08
  • Java插入排序算法實(shí)現(xiàn)方法例子

    Java插入排序算法實(shí)現(xiàn)方法例子

    所謂排序,是將一組數(shù)據(jù)按照特定順序重新排列的過(guò)程,穩(wěn)定排序算法中相同鍵值的元素排序后保持原有順序,直接插入排序和希爾排序是插入排序的兩種形式,這篇文章主要介紹了Java插入排序算法實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下
    2024-10-10
  • java獲取properties屬性文件示例

    java獲取properties屬性文件示例

    Properties類表示了一個(gè)持久的屬性集。Properties可保存在流中或從流中加載。屬性列表中每個(gè)鍵及其對(duì)應(yīng)值都是一個(gè)字符串。本文使用java讀取這些屬性,看下面詳細(xì)介紹吧
    2014-01-01
  • Java中Spring的創(chuàng)建和使用詳解

    Java中Spring的創(chuàng)建和使用詳解

    這篇文章主要介紹了Java中Spring的創(chuàng)建和使用詳解,Spring 是?個(gè)包含了眾多?具?法的 IoC 容器,既然是容器那么 它就具備兩個(gè)最基本的功能,將對(duì)象存儲(chǔ)到容器中,從容器中將對(duì)象取出來(lái),需要的朋友可以參考下
    2023-08-08
  • 如何基于Idea遠(yuǎn)程調(diào)試tomcat war包及jar包

    如何基于Idea遠(yuǎn)程調(diào)試tomcat war包及jar包

    這篇文章主要介紹了如何基于Idea遠(yuǎn)程調(diào)試tomcat war包及jar包,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Java Socket編程心跳包創(chuàng)建實(shí)例解析

    Java Socket編程心跳包創(chuàng)建實(shí)例解析

    這篇文章主要介紹了Java Socket編程心跳包創(chuàng)建實(shí)例解析,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2017-12-12

最新評(píng)論

文成县| 安顺市| 临潭县| 鹿邑县| 五家渠市| 原平市| 平阳县| 南平市| 灵寿县| 清水河县| 博爱县| 双流县| 洛扎县| 从化市| 二连浩特市| 温州市| 商水县| 土默特左旗| 杭锦旗| 汝城县| 修文县| 浦东新区| 诏安县| 博罗县| 宜君县| 陇西县| 宜兰县| 全南县| 陇南市| 贞丰县| 普陀区| 昌吉市| 玉山县| 永和县| 勃利县| 浏阳市| 江达县| 电白县| 道孚县| 澄江县| 三河市|