记一次springboot工程占位符不能替换的问题

springboot工程,也使用了spring配置文件,里面使用了占位符,${},但占位符一直未正常替换值。事后总结原因如下:

1)

<resource>
    <directory>src/main/resources</directory>
    <filtering>true</filtering>  -->这个地方需设置为true

意思是将配置文件里的占位符在编译的时候替换。

2)由于${}方式会被maven处理,如果你的pom继承了spring-boot-starter-parent,Spring
Boot已经将maven-resources-plugins默认的${}方式改为了@@方式,如@name@。

如果还想继续使用${}占位符方式,需要在pom文件中加上下面配置:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <configuration>
        <encoding>UTF-8</encoding>
        <useDefaultDelimiters>true</useDefaultDelimiters>
    </configuration>
</plugin>

小伙伴们可以自查,看是否是上面的原因。

但如果已读取了properties配置文件,正常springboot在启动时会替换占位符,但我的工程却没有。原因还在分析中,上述是在编译的时候将占位符替换为实际值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot中,占位符替换是通过使用PropertySourcesPlaceholderConfigurer来实现的。\[3\] PropertySourcesPlaceholderConfigurer是一个BeanFactoryPostProcessor,它可以解析属性文件中的占位符,并将其替换为相应的值。在Spring Boot中,占位符的默认格式是@@name@@,而不是传统的${name}。\[1\] 为了使用占位符替换,你需要在配置文件中指定占位符所代表的值,并告诉Spring Boot这个属性文件的位置。这可以通过在application.properties文件中设置相应的属性来实现。\[2\] 通过这种方式,你可以将分散在不同配置文件中的配置项的值集中到一个或多个属性文件中,方便管理和维护。 #### 引用[.reference_title] - *1* [一次springboot工程占位符不能替换问题](https://blog.csdn.net/meiye/article/details/123360313)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Spring自定义占位符替换(PropertyPlaceholderConfigurer)](https://blog.csdn.net/z69183787/article/details/52439658)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值