zoukankan      html  css  js  c++  java
  • Spring-boot打包(打War包,打Jar包并支持配置外置)

    1. 创建Spring-boot工程

    打开IDEA通过Spring Initializr新建一个基于Maven的WEB工程,默认命名com.example:demo:0.0.1-SNAPSHOT,如下图所示

    2.编写一个测试RestApi

    在主工程下添加一个Controller包,编写一个TestController,返回“hello spring-boot”

    然后点击右上角调试运行,启动完成后,打开浏览器输入127.0.0.1:8080,可以看到输出结果,spring-boot默认采用jar包方式运行,内置tomcat,默认监听8080端口

    3.把Spring-boot工程打包为Jar包

     spring-boot默认为jar包方式,编写好程序后,只需要运行maven的package命令,在target目录下便会生成对应的jar包,本例为demo-0.0.1-SNAPSHOT.jar,如下图所示:

    生成好的jar包可以直接通过命令来启动运行,打开控制台,定位到target目录下,运行:java -jar demo-0.0.1-SNAPSHOT.jar,就可以启动Spring-boot的jar包了,我们可以将启动命令写成一个startup.bat或者startup.sh的启动脚本,部署到服务器上后,直接调用脚本启动Spring-boot工程。 

    Spring-boot默认从application.properties或application.yml读取配置信息,Spring程序会按优先级从下面这些路径来加载application.properties配置文件

    • 当前目录下的/config目录
    • 当前目录
    • classpath里的/config目录
    • classpath 跟目录

    因此,要外置配置文件就很简单了,直接把配置文件放在对应的目录即可

    4. Spring-boot打War包

    Spring-boot打war包需要在上面工程基础上调整三个地方

    1. 修改pom.xml打包类型为war,如下图

    2. 添加spring-boot-starter-tomcat依赖

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>
    </dependency>

    3. 实现一个ServletInitializer类添加到工程代码中:

    package com.example.demo;
    import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; public class ServletInitializer extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(DemoApplication.class); } }

    这三步完成后就可以添加tomcat配置进行调试了,或者运行maven的package命令进行打包target目录下便会生成demo-0.0.1-SNAPSHOT.war

  • 相关阅读:
    学习记录---KMP算法-部分匹配表理解
    关于GameObject无法禁用问题
    out用法
    关于Dictionary.TryGetValue的个人理解记录
    Transform.parent和Transform.root的区别
    Queue默认容量
    关于Camera Culling Mask
    MSVCP110.DLL没有被指定在WINDOWS上运行
    typeof instanceof 之间的区别总结
    Promise 使用心得
  • 原文地址:https://www.cnblogs.com/ArtofDesign/p/9565713.html
Copyright © 2011-2022 走看看