《Spring Boot从入门到实战》第三章习题答案

3.7 本章练习

1) 使用IDEA手动创建一个Spring Boot项目,修改系统的默认端口号和系统默认的图标(Icon)。

答案:

在application.properties默认端口号

复制代码
server.port=8081

系统默认的图标application.properties

复制代码
spring.banner.location=/banner.txt
application.version=1.0.0.0
application.formatted-version=v1.0.0.0
spring-boot.version=2.1.2.RELEASE
spring-boot.formatted-version=v2.1.2.RELEASE
application.title=My APP

banner.txt:

复制代码
${AnsiColor.BRIGHT_YELLOW}
 _   _      _ _         __        __         _     _ _
| | | | ___| | | ___    \ \      / /__  _ __| | __| | |
| |_| |/ _ \ | |/ _ \    \ \ /\ / / _ \| '__| |/ _` | |
|  _  |  __/ | | (_) |    \ V  V / (_) | |  | | (_| |_|
|_| |_|\___|_|_|\___( )    \_/\_/ \___/|_|  |_|\__,_(_)
                   |/

${AnsiColor.BRIGHT_RED}
Application Name: ${application.title}
Application Version: ${application.formatted-version}
Spring Boot Version: ${spring-boot.formatted-version}

运行截图;

  1. 实现系统多环境配置,让开发环境和测试环境连接到不同的数据库。

答案:

创建多环境配置文件时,需要遵循Spring Boot允许的命名约定来命名,格式为application-{profile}.properties,其中{profile}为对应的环境标识。在项目resources目录下分别创建application-dev.properties、application-test.properties和application-prod.properties三个配置文件,对应开发环境、测试环境和生产环境。

根据应用系统中常见的三个运行环境拆分成了多个不同的配置文件,分别独立配置上面各运行环境的配置项,具体如下:

application.properties:为项目主配置文件,包含项目所需的所有公共配置。

application-dev.properties:为开发环境配置文件,包含各项目所需的单独配置。

application-test.properties:为测试环境配置文件。

application-prod.properties:为生产环境配置文件。

多环境的切换 指定项目的启动环境有以下三种方式:

1.配置文件指定项目指定环境

spring boot支持通过spring.profiles.active配置项目启动环境,在application.properties配置文件中增加如下配置项指定对应的环境目录:

spring.profiles.active=dev

  1. IDEA编译器指定项目启动环境
  1. 命令行启动指定项目环境

在命令行通过java -jar xxx.jar --spring.profiles.active=dev

相关推荐
Nanjo_FanY10 分钟前
Spring Boot 3/4 可观测落地指南
后端
PFinal社区_南丞28 分钟前
Go语言开发AI智能体:从Function Calling到Agent框架
后端·go
货拉拉技术44 分钟前
货拉拉海豚平台-大模型推理加速工程化实践
人工智能·后端·架构
神奇小汤圆1 小时前
请不要自己写,Spring Boot非常实用的内置功能
后端
神奇小汤圆1 小时前
突破Netty极限:基于Java 21 FFM API手写高性能网络通信框架
后端
Java编程爱好者1 小时前
给 Spring Boot 接口加了幂等保护:Token 机制 + 结果缓存,一个注解搞定
后端
Java编程爱好者2 小时前
字节二面:Redis 能做消息队列吗?怎么实现?
后端
爱找乐子的李寻欢2 小时前
防止字符串 ID 隐式转换导致的数据越权漏洞
后端
JavaGuide2 小时前
字节二面:Redis 能做消息队列吗?怎么实现?
redis·后端