SpringBoot2.x系列教程04--SpringBoot花样配置之自定义Web端口及开启日志功能

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 前言上一章节中,壹哥 带各位玩了个花样配置,设置了一个自定义的Banner图,而且 壹哥 还给各位留了个作业,让大家设计一个苍老师的图片给我看看,是不是都设计好了呢?别忘了发给我共享哦。今天 壹哥 带各位再学习其他的一些花样技巧,比如设置自定义的Web端口号,启动Log日志功能等,这些可不是花架子了哦,这些都是很有用的实战技巧,这些都是我们项目开发时必须配置的设置。一. 修改端口号和访问路径我们知道,在任何一个Web项目中,都需要设置一个Web端口号,比如80、8080、8081等端口号。有的小伙伴说,我就没设置过端口号也没问题啊!你没配置过,那是因为使用的是默认的80或者8080端

前言

上一章节中,壹哥 带各位玩了个花样配置,设置了一个自定义的Banner图,而且 壹哥 还给各位留了个作业,让大家设计一个苍老师的图片给我看看,是不是都设计好了呢?别忘了发给我共享哦。

今天 壹哥 带各位再学习其他的一些花样技巧,比如设置自定义的Web端口号,启动Log日志功能等,这些可不是花架子了哦,这些都是很有用的实战技巧,这些都是我们项目开发时必须配置的设置。

一. 修改端口号和访问路径

我们知道,在任何一个Web项目中,都需要设置一个Web端口号,比如80、8080、8081等端口号。有的小伙伴说,我就没设置过端口号也没问题啊!你没配置过,那是因为使用的是默认的80或者8080端口,没有端口号是不可能的!但是有时候我们就不想用80和8080端口,或者这两个端口被别的程序给占用了,那怎么办呢?

自定义呗!

今天 壹哥 就带各位自定义这个Web端口号,这在SpringBoot中是很容易就可以实现的。

1. 创建application.properties文件

在Spring Boot 项目中,我们可以创建一个全局的配置文件application.properties 或者是 application.yml,该文件需要存放在 resources 目录下或者类路径下的 /config 目录中,一般我们都放到 resources 下。

结合之前的章节,我们首先创建一个SpringBoot项目,然后在该项目的src/main/resource目录下,创建application.properties格式的配置文件。我们直接通过New按钮选择File,文件后缀修改成properties即可。

这个文件的名称必须是application.properties哦。

把文件保存在resources目录下。

2. 修改端口号与访问路径

application.properties配置文件创建之后,我们就可以进行自定义配置了。这里我把 tomcat 的端口修改为8088,并将默认的访问根路径 "/" 修改为 "/oa"。

application.properties文件的配置如下:

server.port=8088server.servlet.context-path=/oa

当然SpringBoot项目中,也有另一种配置文件的格式yml,如果是application.yml文件,则配置格式如下:

server:  port: 8088  servlet:
    context-path: /oa

3. 创建一个Controller

为了验证我们的项目是否配置完毕了,这里 壹哥 简单创建了一个Controller接口,各位随意创建即可。

4. 测试效果

接下来我们就把项目启动起来,我们在控制台可以看到如下效果,会发现我们项目的根路径此时已经变成了”/oa“,而不再是之前默认的”/“。

我们打开浏览器,就可以利用http://localhost:8088/oa/hi这个地址来访问我们的接口了。

如果你想进行跟多的配置,请参考如下链接。

更多配置信息

二. 日志配置

1. 日志功能配置

除了可以自定义Web端口与项目根路径之外,SpringBoot中还运行我们灵活的进行日志的开关设置。在Spring Boot中,对各种常用的日志框架都做了支持,我们可以通过配置文件来修改默认的日志开关配置。默认情况下,Spring Boot 使用 Logback 作为日志框架。

接下来我们在application.properties文件中,设置日志文件的存储位置,以及日志的级别,如下所示:

logging.file.path=../logs/spring-boot-hello.log
logging.level.org.springframework.web=DEBUG

如果你使用的是application.yml配置文件,可以是如下写法:

logging:  file:    path:../logs/spring-boot-hello.log
  level.org.springframework.web: DEBUG

完整的代码格式如下图所示,各位可以参考。

2. 启动测试

等我们把项目重新启动起来,找到自己项目日志所设置的盘符,就可以看到有一个logs日志目录,存放了本项目的日志信息,如下图所示。

这样,我们的日志功能就轻松的实现了。

三. 自动配置再分析

有的小伙伴知道,在之前SSM阶段,要想实现以上这些配置,是挺麻烦的,而在SpringBoot中则很容易,这是怎么做到的呢?其实这都归功于SpringBoot中的自动配置功能,这里 壹哥 对此做一个简单分析。

1. 自动配置

在Spring Boot中,带有一个很牛逼的自动配置(auto-configuration)功能,这里我先简单提一下,后面我再对这个原理进行深入的分析。

自动配置会尝试根据我们添加的jar依赖包,自动的配置Spring应用。比如在classpath下存在HSQLDB,并且我们没有手动配置任何数据库连接的beans,那么Spring Boot将自动配置一个内存型(in-memory)的数据库。

2. 自动配置的非侵入性

SpringBoot的自动配置(Auto-configuration)功能是非侵入性的,就是任何时候,你都可以定义自己的配置类来替换自动配置的特定部分。例如,如果你添加自己的DataSource bean,默认的内嵌数据库支持将不被考虑。

3. 自动配置的实现方式

实现自动配置有两种可选方式,分别是将@EnableAutoConfiguration或@SpringBootApplication注解添加到@Configuration类上。

注意

我们只应该添加一个自动配置的注解,@EnableAutoConfiguration或者@SpringBootApplication,通常建议将它添加到主配置类(primary @Configuration)上。

四. 关闭特定的自动配置

当然,如果你非要特立独行,就想和别人不一样,就想给自己找麻烦,那也可以把自动配置功能给关闭掉,这时我们可以使用@EnableAutoConfiguration或者@SpringBootApplication注解的exclude属性禁用它们。

我们以关闭数据源的自动配置为例,只需要排除掉数据源配置,就不会再自动配置数据源了。

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})

去除数据源自动配置代码,如下图所示:

另外,如果该类(DataSourceAutoConfiguration)不在classpath中,你可以使用该注解的excludeName属性,并指定全限定名来达到相同效果。

最后,你也可以通过spring.autoconfigure.exclude属性exclude多个自动配置项(一个自动配置项集合)。

注意

通过注解级别或exclude属性都可以定义排除项!

结语

好了,今天的内容就结束啦,我们今天对SpringBoot的了解又多了一些,好开心哦。你有么有把今天的内容都掌握了呢?

今日小作业:

修改自己的端口号为8888,项目根路径为“/qf”,并开启日志功能,编写一个Web接口,接口中采集日志,然后访问该接口。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
2月前
HDFS web Interfaces功能解读
HDFS web Interfaces功能解读
|
7天前
|
前端开发 API
(WEB前端编辑DWG)在线CAD如何实现图形识别功能
mxcad 提供的图形识别功能可帮助用户快速识别和提取 CAD 图纸中的各种图形,如直线、多段线、弧线、圆及图块,显著提升设计效率。此功能不仅适用于图形分类,还能进行数量统计和快速定位,减少手动操作。用户可通过 API 进行二次开发,自定义识别逻辑。具体步骤包括打开在线示例、选择识别功能、设置识别参数并开始识别。更多开发文档请关注公众号:梦想云图网页 CAD。
|
12天前
|
存储 JSON API
实战派教程!Python Web开发中RESTful API的设计哲学与实现技巧,一网打尽!
在数字化时代,Web API成为连接前后端及构建复杂应用的关键。RESTful API因简洁直观而广受欢迎。本文通过实战案例,介绍Python Web开发中的RESTful API设计哲学与技巧,包括使用Flask框架构建一个图书管理系统的API,涵盖资源定义、请求响应设计及实现示例。通过准确使用HTTP状态码、版本控制、错误处理及文档化等技巧,帮助你深入理解RESTful API的设计与实现。希望本文能助力你的API设计之旅。
36 3
|
13天前
|
SQL 安全 Go
SQL注入不可怕,XSS也不难防!Python Web安全进阶教程,让你安心做开发!
在Web开发中,安全至关重要,尤其要警惕SQL注入和XSS攻击。SQL注入通过在数据库查询中插入恶意代码来窃取或篡改数据,而XSS攻击则通过注入恶意脚本来窃取用户敏感信息。本文将带你深入了解这两种威胁,并提供Python实战技巧,包括使用参数化查询和ORM框架防御SQL注入,以及利用模板引擎自动转义和内容安全策略(CSP)防范XSS攻击。通过掌握这些方法,你将能够更加自信地应对Web安全挑战,确保应用程序的安全性。
43 3
|
1月前
|
Java API Apache
从零到英雄的蜕变:如何用Apache Wicket打造你的第一个Web应用——不仅是教程,更是编程之旅的启航
【9月更文挑战第4天】学习Apache Wicket这一开源Java Web应用框架是一段激动人心的旅程。本文将指导你通过Maven搭建环境,并创建首个“Hello, World!”应用。从配置`pom.xml`到实现`HelloWorldApplication`类,再到`web.xml`的设置,一步步教你构建与部署简单网页。适合初学者快速上手,体验其简洁API与强大组件化设计的魅力。
24 1
|
2月前
|
存储 JSON 监控
FastAPI日志之谜:如何揭开Web应用监控与调试的面纱?
【8月更文挑战第31天】在现代Web开发中,日志记录对于监控应用状态、诊断问题和了解用户行为至关重要。FastAPI框架提供了强大的日志功能,使开发者能轻松集成日志记录。本文将详细介绍如何在FastAPI中设置和利用日志,包括基础配置、请求响应日志、错误处理和结构化日志等内容,帮助提升应用的可维护性和性能。
61 0
|
2月前
|
Prometheus 监控 Cloud Native
Web服务器的日志分析与监控
【8月更文第28天】Web服务器日志提供了关于服务器活动的重要信息,包括访问记录、错误报告以及性能数据。有效地分析这些日志可以帮助我们了解用户行为、诊断问题、优化网站性能,并确保服务的高可用性。本文将介绍如何使用日志分析和实时监控工具来监测Web服务器的状态和性能指标,并提供具体的代码示例。
165 0
|
2月前
【Azure 应用服务】通过 Web.config 开启 dotnet 应用的 stdoutLog 日志,查看App Service 产生500错误的原因
【Azure 应用服务】通过 Web.config 开启 dotnet 应用的 stdoutLog 日志,查看App Service 产生500错误的原因
|
2月前
|
存储 Linux 网络安全
【Azure 应用服务】App Service For Linux 如何在 Web 应用实例上住抓取网络日志
【Azure 应用服务】App Service For Linux 如何在 Web 应用实例上住抓取网络日志
|
2月前
【Azure 云服务】Azure Cloud Service 为 Web Role(IIS Host)增加自定义字段 (把HTTP Request Header中的User-Agent字段增加到IIS输出日志中)
【Azure 云服务】Azure Cloud Service 为 Web Role(IIS Host)增加自定义字段 (把HTTP Request Header中的User-Agent字段增加到IIS输出日志中)
下一篇
无影云桌面