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

简介: 前言上一章节中,壹哥 带各位玩了个花样配置,设置了一个自定义的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接口,接口中采集日志,然后访问该接口。

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
8月前
|
算法 Java Go
【GoGin】(1)上手Go Gin 基于Go语言开发的Web框架,本文介绍了各种路由的配置信息;包含各场景下请求参数的基本传入接收
gin 框架中采用的路优酷是基于httprouter做的是一个高性能的 HTTP 请求路由器,适用于 Go 语言。它的设计目标是提供高效的路由匹配和低内存占用,特别适合需要高性能和简单路由的应用场景。
609 4
|
11月前
|
Java Spring
Spring Boot配置的优先级?
在Spring Boot项目中,配置可通过配置文件和外部配置实现。支持的配置文件包括application.properties、application.yml和application.yaml,优先级依次降低。外部配置常用方式有Java系统属性(如-Dserver.port=9001)和命令行参数(如--server.port=10010),其中命令行参数优先级高于系统属性。整体优先级顺序为:命令行参数 > Java系统属性 > application.properties > application.yml > application.yaml。
1319 0
|
10月前
|
JavaScript Java 微服务
现代化 Java Web 在线商城项目技术方案与实战开发流程及核心功能实现详解
本项目基于Spring Boot 3与Vue 3构建现代化在线商城系统,采用微服务架构,整合Spring Cloud、Redis、MySQL等技术,涵盖用户认证、商品管理、购物车功能,并支持Docker容器化部署与Kubernetes编排。提供完整CI/CD流程,助力高效开发与扩展。
1059 64
|
8月前
|
JavaScript Java Maven
【SpringBoot(二)】带你认识Yaml配置文件类型、SpringMVC的资源访问路径 和 静态资源配置的原理!
SpringBoot专栏第二章,从本章开始正式进入SpringBoot的WEB阶段开发,本章先带你认识yaml配置文件和资源的路径配置原理,以方便在后面的文章中打下基础
601 4
|
9月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
1583 5
|
9月前
|
传感器 Java 数据库
探索Spring Boot的@Conditional注解的上下文配置
Spring Boot 的 `@Conditional` 注解可根据不同条件动态控制 Bean 的加载,提升应用的灵活性与可配置性。本文深入解析其用法与优势,并结合实例展示如何通过自定义条件类实现环境适配的智能配置。
466 0
探索Spring Boot的@Conditional注解的上下文配置
|
10月前
|
安全 算法 Java
在Spring Boot中应用Jasypt以加密配置信息。
通过以上步骤,可以在Spring Boot应用中有效地利用Jasypt对配置信息进行加密,这样即使配置文件被泄露,其中的敏感信息也不会直接暴露给攻击者。这是一种在不牺牲操作复杂度的情况下提升应用安全性的简便方法。
1502 10
|
11月前
|
人工智能 安全 Java
Spring Boot yml 配置敏感信息加密
本文介绍了如何在 Spring Boot 项目中使用 Jasypt 实现配置文件加密,包含添加依赖、配置密钥、生成加密值、在配置中使用加密值及验证步骤,并提供了注意事项,确保敏感信息的安全管理。
1616 1
|
12月前
|
缓存 JavaScript 前端开发
鸿蒙5开发宝藏案例分享---Web开发优化案例分享
本文深入解读鸿蒙官方文档中的 `ArkWeb` 性能优化技巧,从预启动进程到预渲染,涵盖预下载、预连接、预取POST等八大优化策略。通过代码示例详解如何提升Web页面加载速度,助你打造流畅的HarmonyOS应用体验。内容实用,按需选用,让H5页面快到飞起!
|
12月前
|
JavaScript 前端开发 API
鸿蒙5开发宝藏案例分享---Web加载时延优化解析
本文深入解析了鸿蒙开发中Web加载完成时延的优化技巧,结合官方案例与实际代码,助你提升性能。核心内容包括:使用DevEco Profiler和DevTools定位瓶颈、四大优化方向(资源合并、接口预取、图片懒加载、任务拆解)及高频手段总结。同时提供性能优化黄金准则,如首屏资源控制在300KB内、关键接口响应≤200ms等,帮助开发者实现丝般流畅体验。

热门文章

最新文章