Spring Boot Web应用程序配置详解

所属分类: 软件编程 / java 阅读数: 17
收藏 0 赞 0 分享

在这篇短文中,我们将介绍Spring Boot Web应用程序配置的一些有趣方面。 我们将介绍一些Web应用程序最常用的配置。

1. 介绍

Spring Boot带有智能构建功能,可以轻松创建Web或独立应用程序。Spring Boot可以为我们做很多事情,甚至不需要我们为Web应用程序编写一行代码。本文中,我们只介绍其中几个配置。

2. HTTP端口

web应用最常见的一个配置是HTTP端口号,我们可以用下列几种方式轻松地为我们的web应用配置HTTP端口号:

  1. 使用application.properties文件
  2. 通过基于YAML的配置
  3. 以编程方式设置HTTP端口号

2.1 通过配置来设置HTTP端口

对于properties文件:

server.port=9001

对于YAML文件:

server:
  port: 8083

2.2 以编程方式设置HTTP端口号

我们也可以在Spring Boot中编程设置HTTP端口:

@Component
public class CustomConfiguration implements EmbeddedServletContainerCustomizer {
 /**
  * Customize the specified {@link ConfigurableEmbeddedServletContainer}.
  *
  * @param container the container to customize
  */
 @Override
 public void customize(ConfigurableEmbeddedServletContainer container) {
  container.setPort(9001);
 }
}

3. Context 路径

Spring Boot Web应用程序的默认上下文路径是“/”,Spring Boot提供了通过配置或以编程方式设置上下文路径的选项。

3.1 通过配置来设置Context路径

对于properties文件:

server.contextPath=/javadevjournal

对于YAML文件:

 server:
  contextPath:/javadevjournal

3.2 通过编程来设置Context路径

我们在Spring Boot中也可以通过编程来设置Context路径:

@Component
public class CustomConfiguration implements EmbeddedServletContainerCustomizer {
 /**
  * Customize the specified {@link ConfigurableEmbeddedServletContainer}.
  *
  * @param container the container to customize
  */
 @Override
 public void customize(ConfigurableEmbeddedServletContainer container) {
  container.setPort(9001);
  container.setContextPath("/javadevjournal");
 }
}

4. BasicErrorController

如果你正在用Spring Boot应用程序,那么你应该熟悉 While Label Error Page。 如果我们没有指定自己的自定义bean,Spring Boot会自动注册BasciErrorController bean。 我们可以通过扩展ErrorController来定制这个bean。

 @Controller
public class CustomErrorController implements ErrorController {
 private static final String PATH = "/error";
 @RequestMapping(value = PATH)
 public String error() {
  return "errorHandling";
 }
 /**
  * Returns the path of the error page.
  *
  * @return the error path
  */
 @Override
 public String getErrorPath() {
  return PATH;
 }
}

5. 自定义错误页面

Spring Boot提供了一种基于错误代码使用我们自己的自定义错误页面的方法。 我们需要在/error目录下添加基于错误代码的页面,并且Spring Boot将根据错误代码使用正确的页面。

我们可以使用静态HTML,也可以使用模板来构建我们的自定义错误页面。 文件的名称应该是确切的状态码或系列通配符。

我们可以使用类似的结构来组织我们的模板。

 src/
 +- main/
   +- java/
   |  + <source code>
   +- resources/
     +- public/
       +- error/
       |  +- 404.html
       +- <other public assets>
src/
 +- main/
   +- java/
   |  + <source code>
   +- resources/
     +- public/
       +- error/
       |  +- 5xx.html
       +- <other public assets>

6. 配置日志

Spring Boot对日志记录没有必要的依赖(通用日志API除外)。 Spring Boot内部使用LoggingSystem,试图根据类路径的内容配置日志。

我们可以在 application.properties 文件里用 logging.level 这个前缀来设置日志级别从而可以微调Spring Boot应用的日志输出。

logging.level.org.springframework.web=DEBUG
logging.level.org.hibernate=ERROR

我们可以在Spring Boot应用程序中使用不同的日志框架(Logback,Log4j2)。

总结

在这篇文章中,我们介绍了Spring Boot Web应用程序配置,这是为正确设置Web应用程序或按照你的需要设置所必需的。 有关更多详细信息,你可以随时参阅Spring Boot文档。

原文链接: https://www.javadevjournal.com/spring-boot/spring-boot-web-application-configuration/

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

Java数据类型的规则

这篇文章主要介绍了Java数据类型的规则的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Spring整合TimerTask实现定时任务调度

这篇文章主要介绍了Spring整合TimerTask实现定时任务调度的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

详解SpringMVC使用MultipartFile实现文件的上传

本篇文章主要介绍了SpringMVC使用MultipartFile实现文件的上传,本地的文件上传到资源服务器上,比较好的办法就是通过ftp上传。这里是结合SpringMVC+ftp的形式上传的,有兴趣的可以了解一下。
收藏 0 赞 0 分享

SpringMVC上传文件的三种实现方式

本篇文章主要介绍了SpringMVC上传文件的三种实现方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

微信公众帐号开发-自定义菜单的创建及菜单事件响应的实例

本篇文章主要介绍了微信公众帐号开发-自定义菜单的创建及菜单事件响应的实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
收藏 0 赞 0 分享

浅析Java中的继承与组合

本文将介绍组合和继承的概念及区别,并从多方面分析在写代码时如何进行选择。文中通过示例代码介绍的很详细,有需要的朋友可以参考借鉴,下面来一起看看吧。
收藏 0 赞 0 分享

利用反射获取Java类中的静态变量名及变量值的简单实例

下面小编就为大家带来一篇利用反射获取Java类中的静态变量名及变量值的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

java启动线程的3种方式对比分析

这篇文章主要为大家对比分析了java启动线程的3种方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

SpringMVC上传和解析Excel方法

这篇文章主要介绍了SpringMVC上传和解析Excel方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

JAVA中String类与StringBuffer类的区别

这篇文章主要为大家详细介绍了JAVA中String类与StringBuffer类的区别,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享
查看更多