笔记

1、SpringBoot启动方式讲解和部署war项目到tomcat9
简介:SpringBoot常见启动方式讲解和部署war项目Tomcat

1、ide启动
    2、jar包方式启动
                maven插件:
                <build>
                <plugins>
                    <plugin>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-maven-plugin</artifactId>
                    </plugin>
                </plugins>
                </build>
                如果没有加,则执行jar包 ,报错如下
                    java -jar spring-boot-demo-0.0.1-SNAPSHOT.jar
                    no main manifest attribute, in spring-boot-demo-0.0.1-SNAPSHOT.jar
                如果有安装maven 用 mvn spring-boot:run
        项目结构
            example.jar
                     |
                     +-META-INF
                     |  +-MANIFEST.MF
                     +-org
                     |  +-springframework
                     |     +-boot
                     |        +-loader
                     |           +-<spring boot loader classes>
                     +-BOOT-INF
                        +-classes
                        |  +-mycompany
                        |     +-project
                        |        +-YourClasses.class
                        +-lib
                           +-dependency1.jar
                           +-dependency2.jar
    目录结构讲解
    https://docs.spring.io/spring-boot/docs/2.1.0.BUILD-SNAPSHOT/reference/htmlsingle/#executable-jar-jar-file-structure

开始

新建的一个空的项目,没有什么依赖

里面建了一个controller方便我们测试

包装了一个对象方便做测试用

配置文件是空的

pom.xml依赖就只有这两个依赖的jar包

默认的启动方式

mavnen打包的方式启动


target里面就会生成一个jar包

jar包方式启动 一定要加的插件。他会帮我们把这个程序打成jar包

如果没有加jar包的引用就会报错

jar包内目录结构
spring官方的项目结构图
https://docs.spring.io/spring-boot/docs/2.1.0.BUILD-SNAPSHOT/reference/htmlsingle/#executable-jar-jar-file-structure

第三种方式启动-war包方式启动


打包方式改成war包的方式

在build标签里面配置上项目名称

在编译的时候可能pom.xml会报错。并不影响我们的构建

鼠标右键选择Delete


打包成功

修改启动类的初始化方式


继承了SpringBootServletInitalizer。复写里面的方法配置一下

target里面有很多杂七杂八的东西,这里先先用maven clean清理一下

清理后target目录就是空的了


打包后的war包

把war包复制出来放到桌面上
下载tomcat
tocmat下载 https://tomcat.apache.org/download-90.cgi
根据自己的系统进行下载

这是解压后的目录

进入到webapps目录把里面的东西删掉。

把我们刚才打包的war包复制到这个目录里面来

windows系统到bin的目录,双击Startup.bat启动命令就课可以了。

如果出错了,可能会闪退。那么就可以打开启动命令 在最下面加上pause;看下日志 提示的是什么错误

程序启动后,自动把我们的war包进行解压

tomcat默认是80端口。这里的端口可能改过了。这里是8080

补充知识

4、启动容器介绍和第三方测试数据讲解
    
    使用Jmter测试工具测试性能,QPS,TPS,RT

https://examples.javacodegeeks.com/enterprise-java/spring/tomcat-vs-jetty-vs-undertow-comparison-of-spring-boot-embedded-servlet-containers/
测试是用的jmeter压力测试软件。开源的支持可视化的报告

小D课堂 - 零基础入门SpringBoot2.X到实战_第5节 SpringBoot部署war项目到tomcat9和启动原理讲解_22、SpringBoot启动方式和部署war项目到tomcat9的更多相关文章

  1. 小D课堂 - 零基础入门SpringBoot2.X到实战_第1节零基础快速入门SpringBoot2.0_1、SpringBoot2.x课程介绍和高手系列知识点

    1 ======================1.零基础快速入门SpringBoot2.0 5节课 =========================== 1.SpringBoot2.x课程全套介绍 ...

  2. 小D课堂 - 零基础入门SpringBoot2.X到实战_第6节 SpringBoot拦截器实战和 Servlet3.0自定义Filter、Listener_24、深入SpringBoot过滤器和Servlet配置过滤器

    笔记 1.深入SpringBoot2.x过滤器Filter和使用Servlet3.0配置自定义Filter实战(核心知识)     简介:讲解SpringBoot里面Filter讲解和使用Servle ...

  3. 小D课堂 - 零基础入门SpringBoot2.X到实战_第9节 SpringBoot2.x整合Redis实战_39、SpringBoot2.x整合redis实战讲解

    笔记 3.SpringBoot2.x整合redis实战讲解 简介:使用springboot-starter整合reids实战 1.官网:https://docs.spring.io/spring-bo ...

  4. 小D课堂 - 零基础入门SpringBoot2.X到实战_第2节 SpringBoot接口Http协议开发实战_6、SpringBoot2.xHTTP请求配置讲解

    1.SpringBoot2.xHTTP请求配置讲解 简介:SpringBoot2.xHTTP请求注解讲解和简化注解配置技巧 1.@RestController and @RequestMapping是 ...

  5. 小D课堂 - 零基础入门SpringBoot2.X到实战_第8节 数据库操作之整合Mybaties和事务讲解_32..SpringBoot2.x持久化数据方式介绍

    笔记 1.SpringBoot2.x持久化数据方式介绍          简介:介绍近几年常用的访问数据库的方式和优缺点 1.原始java访问数据库             开发流程麻烦        ...

  6. 小D课堂 - 零基础入门SpringBoot2.X到实战_第9节 SpringBoot2.x整合Redis实战_37、分布式缓存Redis介绍

    笔记 1.分布式缓存Redis介绍      简介:讲解为什么要用缓存和介绍什么是Redis,新手练习工具          1.redis官网 https://redis.io/download   ...

  7. 小D课堂 - 零基础入门SpringBoot2.X到实战_第11节 Logback日志框架介绍和SpringBoot整合实战_45、SpringBoot2.x日志讲解和Logback配置实战

    笔记 2.SpringBoot2.x日志讲解和自定义Logback配置实战     简介:讲解SpringBoot2.x整合Logback配置实战 1.官网介绍:https://docs.spring ...

  8. 小D课堂 - 零基础入门SpringBoot2.X到实战_第4节 Springboot2.0单元测试进阶实战和自定义异常处理_17、SpringBootTest单元测试实战

    笔记 1.@SpringBootTest单元测试实战     简介:讲解SpringBoot的单元测试         1.引入相关依赖              <!--springboot程 ...

  9. 小D课堂 - 零基础入门SpringBoot2.X到实战_第7节 SpringBoot常用Starter介绍和整合模板引擎Freemaker、thymeleaf_28..SpringBoot Starter讲解

    笔记 1.SpringBoot Starter讲解     简介:介绍什么是SpringBoot Starter和主要作用 1.官网地址:https://docs.spring.io/spring-b ...

随机推荐

  1. keekalived+nginx 高可用

    高可用环境准备 后端服务器主配置文件 [192.168.2.7-root@web01~]#cat /etc/nginx/nginx.conf user www; worker_processes 1; ...

  2. 铁力项目mysql异常处理过程记录

    地区:铁力 故障:2019-06-26 10:19:34 139921514837760 [ERROR] mysqld: Error writing file 'mysql-bin' (errno: ...

  3. Kubernetes+Federation打造跨多云管理服务

    Kubernetes日渐普及,在公有云.私有云等多个环境中部署kubernetes集群已是常规做法,而随着环境的复杂多样和集群数量增长,如何高效地管理这些集群成为新的问题.于是跨多云管理服务应运而生. ...

  4. docker版本lnmp

    也不是全部的docker,比如php-fpm,这个可以用docker版. 但第三方插件就不灵活,所以原生的就好. 另外,在建设ftp服务时,以后要弃vsftpd而选用pure-ftp了. pure-f ...

  5. Spring -10 -<bean>的 scope 属性 -singleton 默认值/prototype 多例 /request /session /application /global session

    1.<bean>的属性; 2.作用:控制对象有效范围(单例,多例等)3.<bean/>标签对应的对象默认是单例的. 3.1无论获取多少次,都是同一个对象 Teacher t1 ...

  6. [转]LINUX最大线程数及最大进程数

    原文:https://blog.csdn.net/wowocpp/article/details/86673886 --------------------- cat /proc/sys/kernel ...

  7. Btrace打印自定义引用类方法参数

    简介 BTrace是sun公司推出的一款Java 动态.安全追踪(监控)工具,可以在不用重启的情况下监控系统运行情况,方便的获取程序运行时的数据信息,如方法参数.返回值.全局变量和堆栈信息等,并且做到 ...

  8. redis和memcached有什么区别?redis的线程模型是什么?为什么单线程的redis比多线程的memcached效率要高得多(为什么redis是单线程的但是还可以支撑高并发)?

    1.redis和memcached有什么区别? 这个事儿吧,你可以比较出N多个区别来,但是我还是采取redis作者给出的几个比较吧 1)Redis支持服务器端的数据操作:Redis相比Memcache ...

  9. 结构型模式(一) 适配器模式(Adapter)

    一.动机(Motivation) 在软件系统中,由于应用环境的变化,常常需要将"一些现存的对象"放在新的环境中应用,但是新环境要求的接口是这些现存对象所不满足的. 如何应对这种&q ...

  10. Notepad++ 编译运行java,c,c++

    1.Java NPP_SAVE cd $(CURRENT_DIRECTORY) D:\tibco\bw6\tibcojre64\1.8.0\bin\javac.exe "$(FILE_NAM ...