无法构造“java.util.LinkedHashMap”的实例(尽管至少存在一个创建者)
我正在从json文件加载属性,并在SpringBoot应用程序中创建DataSourceBuilder。但是当我尝试将值更新到json文件时,我得到了错误[无法构造无法构造“java.util.LinkedHashMap”的实例(尽管至少存在一个创建者),java,spring-boot,Java,Spring Boot,我正在从json文件加载属性,并在SpringBoot应用程序中创建DataSourceBuilder。但是当我尝试将值更新到json文件时,我得到了错误[无法构造java.util.LinkedHashMap的实例(尽管至少存在一个创建者):没有字符串参数构造函数/工厂方法从字符串值反序列化]。请找到下面的代码并在这方面帮助我 我已经为一个类使用了“PropertySource”注释来从json加载数据。我正在尝试使用ObjectMapper将这些值更新到json文件中 1.JsonPrope
java.util.LinkedHashMap的实例(尽管至少存在一个创建者)
:没有字符串参数构造函数/工厂方法从字符串值反序列化]。请找到下面的代码并在这方面帮助我
我已经为一个类使用了“PropertySource”注释来从json加载数据。我正在尝试使用ObjectMapper将这些值更新到json文件中
1.JsonProperties.class(用于json的类)
2.JsonPropertySourceFactory.class(解析器)
4.尝试动态更新json文件
我正在尝试更新json文件中的数据库信息,并通过再次查看json文件来检查数据库来重新启动应用程序。至少stacktrace plz…至少stacktrace plz。。。。
@Configuration
@PropertySource(value = "classpath:/config/database_config.json", factory = JsonPropertySourceFactory.class)
@ConfigurationProperties
public class JsonProperties {
private String ip;
private String port;
//getters and setters
}
public class JsonPropertySourceFactory implements PropertySourceFactory {
@SuppressWarnings("unchecked")
@Override
public PropertySource<?> createPropertySource(String name, EncodedResource resource) throws IOException {
@SuppressWarnings("rawtypes")
Map readValue = new ObjectMapper().readValue(resource.getInputStream(), Map.class);
return new MapPropertySource("json-property", readValue);
}
}
{
"ip": "1.1.1.1",
"port": "3306",
}
ObjectMapper mapper = new ObjectMapper();
try {
mapper.writeValue(new ClassPathResource("configuration/database_config.json").getFile(), dataBaseJsonProperties);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}