application.yml占位符
时间: 2023-07-08 08:38:15 浏览: 67
在 Spring Boot 中,可以在 application.yml 配置文件中使用占位符来动态地配置应用程序的属性。占位符的语法是 `${placeholder}`,其中 `placeholder` 是占位符的名称。占位符可以在配置文件中任何位置使用,包括键和值。例如:
```yaml
spring:
datasource:
url: jdbc:mysql://${db.host}:${db.port}/${db.name}
```
在这个例子中,占位符 `${db.host}`、`${db.port}` 和 `${db.name}` 可以在运行时被实际的值替换,以动态地生成 JDBC 连接 URL。可以通过在配置文件中定义 `db.host`、`db.port` 和 `db.name` 属性来指定这些值。
相关问题
在 application.yml 文件中使用 占位符读取项目名称
在 Spring Boot 中,可以通过使用属性占位符来读取项目名称。在 application.yml 文件中,可以使用 `${spring.application.name}` 来代替 @artifactId@,这样就可以读取实际的项目名称了。例如:
```
server:
port: 8080
spring:
application:
name: ${spring.application.name} # 使用属性占位符读取项目名称
logging:
level:
root: INFO
```
这个例子中,我们使用 `${spring.application.name}` 代替了 @artifactId@,并将 logging.level.root 设置为 INFO。当项目启动时,Spring Boot 会自动将 `${spring.application.name}` 替换为实际的项目名称。
为什么application.yml 读取不到 @artifactId@
@artifactId@ 是 Maven 中的占位符,用于在生成的项目中替换成实际的项目名称。application.yml 文件是在项目中使用的配置文件,它不会被 Maven 处理,因此无法识别 @artifactId@ 占位符。如果你想在 application.yml 文件中使用实际的项目名称,可以手动替换该占位符。或者,你可以考虑使用 Spring Boot 的属性占位符,在 application.yml 文件中使用 ${spring.application.name} 来代替 @artifactId@。