Description
A previously resolved issue appears to have resurfaced in Spring Boot 3.4.6 and 3.5.0.
When resolving configuration properties, ConfigDataEnvironmentContributorPlaceholdersResolver invokes String.valueOf() directly, rather than relying on the registered ConversionService. This bypasses any custom converters and leads to incorrect behavior for types that depend on specific conversion logic — for example, com.google.protobuf.ByteString, which should use toStringUtf8() instead of the default toString().
This behavior mirrors the issue originally reported in spring-projects/spring-boot#39944 (originally identified in GoogleCloudPlatform/spring-cloud-gcp#2690), and was previously known to affect Spring Boot versions 2.4.x through 3.2.x.
It is also reported in the spring-cloud-gcp repo unter GoogleCloudPlatform/spring-cloud-gcp#3821 for investigation.