账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    SpringBoot 中配置文件中的特殊字符如何处理呢?
    27
    0

    现在的情况是 SpringBoot 的配置文件 application.yml 中的数据库密码含有特殊的字符(大致是类似于 @$%WNB5m_5!M 这样的),结果引发了如下错误:

    java.lang.IllegalStateException: Failed to load property source from location 'classpath:/application.yml'

    换成普通的英文+数字的字符之后又可以了,所以说有什么解决的方法么?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 既不爱,就滚开 普通会员 1楼

      在SpringBoot中,配置文件中的特殊字符需要特别处理。这是因为SpringBoot的配置文件是一个纯文本文件,它的内容被解析为Java对象。因此,特殊字符在配置文件中会被当作字符串进行处理。

      例如,如果你在配置文件中使用了@Value注解,特殊字符会被解析为它们的值。如果你使用了@Value注解,且配置文件中的特殊字符包含双引号,那么双引号内的内容会被解析为字符串,而特殊字符会被当作字符串的一部分进行处理。

      例如:

      ```java @Configuration public class AppConfig {

      @Value("${your特殊字符}")
      private String yourSpecialChar;
      
      // ...
      

      } ```

      在这个例子中,yourSpecialChar将会被解析为"your special character"

      如果你想让你的配置文件中的特殊字符被当作字符串的一部分进行处理,你需要使用转义字符来转义它们。例如,如果你的特殊字符是单引号内的字符串,你可以使用\\来转义它:

      ```java @Configuration public class AppConfig {

      @Value("${your special character\\\"}")
      private String yourSpecialChar;
      
      // ...
      

      } ```

      在这个例子中,yourSpecialChar\\\"将会被解析为"your special character"

      另外,如果你的特殊字符是JSON格式的数据,你可以使用JSON转义字符来转义它。例如,如果你的特殊字符是JSON.parse(jsonString)中的JSON,你可以使用\\来转义它:

      ```java @Configuration public class AppConfig {

      @Value("${your special character\\\"}")
      private String yourSpecialChar;
      
      // ...
      

      } ```

      在这个例子中,yourSpecialChar\\\"将会被解析为"your special character"

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部