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日志并进行多维度分析。
相关文章
|
15天前
|
Java API 数据库
构建RESTful API已经成为现代Web开发的标准做法之一。Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐。
【10月更文挑战第11天】本文介绍如何使用Spring Boot构建在线图书管理系统的RESTful API。通过创建Spring Boot项目,定义`Book`实体类、`BookRepository`接口和`BookService`服务类,最后实现`BookController`控制器来处理HTTP请求,展示了从基础环境搭建到API测试的完整过程。
31 4
|
18天前
|
网络协议 安全 网络安全
Cisco-网络端口地址转换NAPT配置
Cisco-网络端口地址转换NAPT配置
|
22天前
|
Java Spring
【SpringBoot】技能一之修改端口与banner样式
【SpringBoot】技能一之修改端口与banner样式
18 5
|
24天前
|
网络协议 Linux Windows
Rsyslog配置不同端口收集不同设备日志
Rsyslog配置不同端口收集不同设备日志
|
14天前
|
移动开发 前端开发 JavaScript
前端开发实战:利用Web Speech API之speechSynthesis实现文字转语音功能
前端开发实战:利用Web Speech API之speechSynthesis实现文字转语音功能
83 0
|
18天前
|
安全 网络安全 数据安全/隐私保护
Cisco-交换机配置聚合端口
Cisco-交换机配置聚合端口
|
25天前
|
云安全 SQL 安全
数字时代下的Web应用程序安全:漏洞扫描服务的功能与优势
在当今这个数字化时代,Web应用程序不仅是企业与用户之间互动的桥梁,更是企业展示服务、传递价值的核心平台。然而,随着技术的不断进步,Web应用程序的复杂性也在不断增加,这为恶意攻击者提供了可乘之机。安全漏洞的频发,如SQL注入、跨站脚本攻击(XSS)、跨站请求伪造(CSRF)等,严重威胁着企业的数据安全、服务稳定性乃至经济利益。在这样的背景下,漏洞扫描服务作为一道重要的安全防线,显得尤为重要。本文将深入探讨漏洞扫描服务在面对Web应用程序安全问题时,所具备的功能优势。
|
27天前
|
JSON API 开发者
深入解析Python网络编程与Web开发:urllib、requests和http模块的功能、用法及在构建现代网络应用中的关键作用
深入解析Python网络编程与Web开发:urllib、requests和http模块的功能、用法及在构建现代网络应用中的关键作用
14 0
|
4月前
|
弹性计算 应用服务中间件 Linux
阿里云服务器开放端口完整图文教程
笔者近期开发完成的服务端程序部署在阿里云的ECS云服务器上面,一些应用程序配置文件需要设置监听的端口(如Tomcat的8080、443端口等),虽然通过CentOs 7系统的的「防火墙」开放了对应的端口号,任然无法访问端口号对应的应用程序,后面了解到原来还需要设置云服务器的「安全组规则」,开放相应的端口权限,服务端的接口才能真正开放。
649 1
阿里云服务器开放端口完整图文教程
|
4月前
|
弹性计算 运维 数据安全/隐私保护
云服务器 ECS产品使用问题之如何更改服务器的IP地址或端口号
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。