您的位置:首页 > 运维架构 > Tomcat

Spring Boot入门——tomcat配置

2017-06-14 15:50 621 查看

1、通过配置文件配置

server.port = 8080

 

2、通过程序配置

 

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.embedded.EmbeddedServletContainerFactory;
import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory;
import org.springframework.context.annotation.Bean;

/**
* Hello world!
*
*/
@SpringBootApplication
public class App{
public static void main( String[] args )
{
System.out.println( "Hello World!" );
SpringApplication.run(App.class, args);
}

/*
*配置tomcat属性
*/
@Bean
public EmbeddedServletContainerFactory servletContainer(){
TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory();
factory.setPort(8089);  //设置访问端口号
factory.setContextPath("/hello"); //设置访问主路径
return factory;
}
}

3、替换默认的tomcat容器

  a、默认是使用tomcat作为servlet的内嵌容器,首先得排除默认的tomcat,使用jetty容器

 

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>

<!-- 排除使用的默认Tomcat -->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>

<!-- 添加jetty容器依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>

 

  b、启动类中声明不使用默认的容器而是jetty容器

 

@SpringBootApplication
public class App{
public static void main( String[] args )
{
System.out.println( "Hello World!" );
SpringApplication.run(App.class, args);
}

/*
*配置默认的tomcat属性
*/
/* @Bean
public EmbeddedServletContainerFactory servletContainer(){
TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory();
factory.setPort(8089);
factory.setContextPath("/hello");
return factory;
}*/

/*
*配置默认的jetty属性
*/
@Bean
public EmbeddedServletContainerFactory servletContainer(){
JettyEmbeddedServletContainerFactory factory = new JettyEmbeddedServletContainerFactory();
return factory;
}
}

 

  c、运行项目时一直出现版本不匹配问题,原因是由于Spring-boot1.5.3版本及以上使用jdk1.8,而我在之前的项目中使用1.7,版本不兼容导致。

4、测试的时候不要排除spring-boot内嵌容器,在外部容器中部署项目时再加上以下代码

 

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>

<!-- 排除使用的默认Tomcat -->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: