spring boot 外部容器tomat、jboss部署

最近微服务比较火,小明我也学习下Spring Boot框架的使用。

首先创建一个项目,创建时选择Spring Initializr,然后Next,如下图:

spring boot 外部容器tomat、jboss部署_第1张图片

填写项目信息,如下图:

spring boot 外部容器tomat、jboss部署_第2张图片

下一步:

spring boot 外部容器tomat、jboss部署_第3张图片

点击finish完成

OK,项目创建成功之后接下来我们来看看这个东西要怎么样去运行。首先我们看到在项目创建成功之后,在项目的根目录下会有一个artifactId+Application命名规则的入口类,如下图:

spring boot 外部容器tomat、jboss部署_第4张图片

直接点击运行:

浏览器访问:

spring boot 外部容器tomat、jboss部署_第5张图片

OK,至此,我们一个简单的Spring Boot工程已经创建出来了。

考虑到公司服务器使用jboss部署的,所以本地用tomcat、jboss启动一下

直接idea配置tomcat启动后浏览器访问报404错误,

问题解决:

第一步:

   新建一个SpringBootStartApplication 继承自 SpringBootServletInitializer

 作用:因为在外部容器部署的话,就不能依赖于Application的main函数了,而是要以类似于web.xml文件配置的方式来启动Spring应用上下文,

    此时我们需要在启动类中继承SpringBootServletInitializer并实现configure方法,这个类的作用与在web.xml中配置负责初始化Spring应用上下文的监听器作用类似

【注意】:这个新建的类,与springboot的启动类是同级的

spring boot 外部容器tomat、jboss部署_第6张图片

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

public class SpringBootStartApplication extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(Springboot3Application.class);
    }
}

第二步:

   修改pom.xml文件,让springboot内嵌的tomcat在运行时不起作用

spring boot 外部容器tomat、jboss部署_第7张图片


        
            org.springframework.boot
            spring-boot-starter-tomcat
            
            provided
        
pom文件修改打成war包:
war

启动tomcat

访问成功:

spring boot 外部容器tomat、jboss部署_第8张图片

下面我们配置下jboss再启动下试试:

spring boot 外部容器tomat、jboss部署_第9张图片

启动报错,这是为什么呢?

之前搭建springMVC项目的时候也踩过JBOSS的坑,我感觉我都能针对JBOSS专门写一篇部署注意事项的博客了,MVC项目踩得坑可以详见我的另一篇博客:https://blog.csdn.net/qq_19201215/article/details/98033743

这次我在WEB-INF下加上了配置文件:jboss-deployment-structure.xml

spring boot 外部容器tomat、jboss部署_第10张图片

但是内容有变化:



  
    
      
      
      
      
      
      
      
      
      
      
      
      
      
    
    
  

然后再添加jboss-web.xml:



   
   /

重新启动成功!

spring boot 外部容器tomat、jboss部署_第11张图片

 

你可能感兴趣的:(java,springboot)