最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Spring Boot快速入門之(四):Tomcat 部署

2020-08-05 10:12 作者:信碼由韁  | 我要投稿

【注】本文譯自:https://www.tutorialspoint.com/spring_boot/spring_boot_tomcat_deployment.htm


? ? 使用?Spring Boot 應(yīng)用,我們可以創(chuàng)建一個 war 文件部署到 web 服務(wù)器中。本文講解如何創(chuàng)建 war 文件并將 Spring Boot 應(yīng)用部署到 Tomcat web 服務(wù)器中。

Spring Boot Servlet 初始化器

? ? 傳統(tǒng)的部署方式是將 Spring Boot 應(yīng)用中?@SpringBootApplication?注解的類擴展自?SpringBootServletInitializer?類。Spring Boot Servlet Initializer 類文件允許你在使用 Servlet 窗口啟動時配置應(yīng)用。

? ? 用于 JAR 文件部署的 Spring Boot 應(yīng)用類文件示例如下:

package com.tutorialspoint.demo;


import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;


@SpringBootApplication

public class DemoApplication {

???public static void main(String[] args) {

??????SpringApplication.run(DemoApplication.class, args);

???}

}

? ? 我們需要擴展類?SpringBootServletInitializer?以支持?WAR 文件部署。對應(yīng)的 Spring Boot 應(yīng)用類文件如下:

package com.tutorialspoint.demo;


import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.boot.builder.SpringApplicationBuilder;

import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;


@SpringBootApplication

public class DemoApplication??extends SpringBootServletInitializer {

???@Override

???protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {

??????return application.sources(DemoApplication.class);

???}

???public static void main(String[] args) {

??????SpringApplication.run(DemoApplication.class, args);

???}

}

設(shè)置主類

? ? 在 Spring Boot 中,我們需要在構(gòu)件文件中指定主類??墒褂孟旅娴拇a片段:

? ? 對于 Maven,在?pom.xml?中增加啟動類屬性,如下所示:

<start-class>com.tutorialspoint.demo.DemoApplication</start-class>

? ? 對于Gradle,在?build.gradle 中加入主類名,如下所示:

mainClassName="com.tutorialspoint.demo.DemoApplication"

更新 JAR 包到 WAR 中

? ? 我們還要用下面的代碼片段更新 JAR 包到 WAR 中:

? ? 對于 Maven,pom.xml?中打包?WAR 的插件如下:

<packaging>war</packaging>

? ? 對于 Gradle,在?build.gradle 加上 應(yīng)用和 war 插件,如下所示:

apply plugin: ‘war’

apply plugin: ‘a(chǎn)pplication’

? ?現(xiàn)在,讓我們編寫一個簡單的 Rest 端點,返回 “Hello World from Tomcat” 字符串。要編寫 Rest Endpoint,我們要在構(gòu)建文件中加上 Spring Boot web starter 依賴。

? ?對于 Maven,在?pom.xml 中加上?Spring Boot starter 依賴,如下所示:

<dependency>

? <groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId></dependency>

? ?對于 Gradle,在?build.gradle?中加上?Spring Boot starter 依賴,如下所示:

dependencies {

? compile('org.springframework.boot:spring-boot-starter-web')

}

? ?現(xiàn)在,在?Spring Boot 應(yīng)用類文件中編寫 Rest 端點,示例代碼如下:

package com.tutorialspoint.demo;


import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.boot.builder.SpringApplicationBuilder;

import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RestController;


@SpringBootApplication

@RestController

public class DemoApplication extends SpringBootServletInitializer {

???@Override

???protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {

??????return application.sources(DemoApplication.class);

???}

???public static void main(String[] args) {

??????SpringApplication.run(DemoApplication.class, args);

???}

???

???@RequestMapping(value = "/")

???public String hello() {

??????return "Hello World from Tomcat";

???}

}

打包應(yīng)用

? ?如下所示,使用Maven 或 Gradle 命令將應(yīng)用打包成 WAR 文件以部署到 Tomcat 服務(wù)器:

? ?對于 Maven,用?mvn package?來打包應(yīng)用。之后,會創(chuàng)建一個 WAR 文件,可以在 target 目錄下找到它,如下圖:


? ?對于 Gradle,?gradle clean build?來打包應(yīng)用。之后,會創(chuàng)建一個 WAR 文件,可以在 build/libs?目錄下找到它,如下圖:


部署到 Tomcat

? ?現(xiàn)在,運行?Tomcat 服務(wù)器,在 webapps 目錄下部署 WAR 文件,如下圖所示:


? ?部署成功之后,在web 瀏覽器中敲入?http://localhost:8080/demo-0.0.1-SNAPSHOT/,屏幕截圖如下:


? ? 全部代碼如下:

? ? 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.tutorialspoint</groupId>

???<artifactId>demo</artifactId>

???<version>0.0.1-SNAPSHOT</version>

???<packaging>war</packaging>

???<name>demo</name>

???<description>Demo project for Spring Boot</description>

???

???<parent>

??????<groupId>org.springframework.boot</groupId>

??????<artifactId>spring-boot-starter-parent</artifactId>

??????<version>1.5.8.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>

??????<start-class>com.tutorialspoint.demo.DemoApplication</start-class>

???</properties>

???<dependencies>

??????<dependency>

?????????<groupId>org.springframework.boot</groupId>

?????????<artifactId>spring-boot-starter-web</artifactId>

??????</dependency>

??????<dependency>

?????????<groupId>org.springframework.boot</groupId>

?????????<artifactId>spring-boot-starter-test</artifactId>

?????????<scope>test</scope>

??????</dependency>

???</dependencies>

???<build>

??????<plugins>

?????????<plugin>

????????????<groupId>org.springframework.boot</groupId>

????????????<artifactId>spring-boot-maven-plugin</artifactId>

?????????</plugin>

??????</plugins>

???</build>

???

</project>

? ? build.gradle

buildscript {

???ext {

??????springBootVersion = '1.5.8.RELEASE'

???}

???repositories {

??????mavenCentral()

???}

dependencies {

??????classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")

???}

}

apply plugin: 'java'

apply plugin: 'eclipse'

apply plugin: 'org.springframework.boot'

apply plugin: 'war'

apply plugin: 'application'

group = 'com.tutorialspoint'

version = '0.0.1-SNAPSHOT'

sourceCompatibility = 1.8

mainClassName = "com.tutorialspoint.demo.DemoApplication"

repositories {

???mavenCentral()

}

dependencies {

???compile('org.springframework.boot:spring-boot-starter-web')

???testCompile('org.springframework.boot:spring-boot-starter-test')

}

? ? 主 Spring Boot 應(yīng)用類文件如下:

package com.tutorialspoint.demo;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.boot.builder.SpringApplicationBuilder;

import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication

@RestController

public class DemoApplication??extends SpringBootServletInitializer {

???@Override

???protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {

??????return application.sources(DemoApplication.class);

???}

???public static void main(String[] args) {

??????SpringApplication.run(DemoApplication.class, args);

???}

???

???@RequestMapping(value = "/")

???public String hello() {

??????return "Hello World from Tomcat";

???}

}


Spring Boot快速入門之(四):Tomcat 部署的評論 (共 條)

分享到微博請遵守國家法律
平昌县| 玉门市| 长海县| 黄冈市| 谷城县| 涞源县| 盘山县| 紫金县| 杭锦后旗| 宜春市| 藁城市| 惠来县| 株洲县| 吉首市| 三门县| 清涧县| 九寨沟县| 甘洛县| 岑巩县| 石河子市| 河南省| 南靖县| 铜陵市| 广州市| 武川县| 南雄市| 恭城| 泽普县| 故城县| 洪雅县| 合川市| 神池县| 怀集县| 桦川县| 登封市| 丹寨县| 中卫市| 合川市| 宁德市| 固原市| 准格尔旗|