当前位置: 首页 > 知识库问答 >
问题:

一个接一个的春蒙哥民粹主义者

常温文
2023-03-14
@Configuration
class IndicatorPopulator {
    @Value("classpath:indicatorData.json")
    private lateinit var data: Resource

    @Autowired
    private lateinit var indicatorRepository: IndicatorRepository

    @Bean
    @Autowired
    fun repositoryPopulator(objectMapper: ObjectMapper): Jackson2RepositoryPopulatorFactoryBean {
        val factory = Jackson2RepositoryPopulatorFactoryBean()
        indicatorRepository.deleteAll()
        factory.setMapper(objectMapper)
        factory.setResources(arrayOf(data))
        return factory
    }

我要找的东西是这样的:

@Bean
@Autowired
fun repositoryPopulator(objectMapper: ObjectMapper): Jackson2RepositoryPopulatorFactoryBean {
    val factory = Jackson2RepositoryPopulatorFactoryBean()
    indicatorRepository.deleteAll()
    factory.setMapper(objectMapper)
    val arrayOfResources: Array<Resource> = arrayOf(data)
    for (resource in arrayOfResources){
            try{
             factory.setResources(resource)
            } catch(e: Exception){
                 logger.log(e.message)
            }

    }
    return factory
}

任何关于如何做这样的事情的想法都是有帮助的...提前谢了。

共有1个答案

杜弘伟
2023-03-14

对您的ask没有内置支持,但您可以通过调整几个类轻松提供支持。

添加自定义Jackson 2阅读器

public class CustomJackson2ResourceReader implements ResourceReader {

    private static final Logger logger = LoggerFactory.getLogger(CustomJackson2ResourceReader.class);

    private final Jackson2ResourceReader resourceReader = new Jackson2ResourceReader();

    @Override
    public Object readFrom(Resource resource, ClassLoader classLoader) throws Exception {
        Object result;
        try {
            result = resourceReader.readFrom(resource, classLoader);
        } catch(Exception e) {
            logger.warn("Can't read from resource", e);
            return Collections.EMPTY_LIST;
        }
        return result;
    }
}

添加自定义Jackson 2填充器

public class CustomJackson2RepositoryPopulatorFactoryBean extends Jackson2RepositoryPopulatorFactoryBean {
    @Override
    protected ResourceReader getResourceReader() {
        return new CustomJackson2ResourceReader();
    }
}
@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

    @Bean
    public AbstractRepositoryPopulatorFactoryBean repositoryPopulator(ObjectMapper objectMapper, KeyValueRepository keyValueRepository) {
        Jackson2RepositoryPopulatorFactoryBean factory = new CustomJackson2RepositoryPopulatorFactoryBean();
        keyValueRepository.deleteAll();
        factory.setMapper(objectMapper);
        factory.setResources(new Resource[]{new ClassPathResource("badclassname.json"), new ClassPathResource("good.json"), new ClassPathResource("malformatted.json")});
        return factory;
    }

}
 类似资料:
  • > ResultMap与我预期的一样工作得很好。它返回正确的或 在这个ResultMap中,我有一个名为'service_id'的元素,它应该替换Mongo中的'_id'。 用MongoTemplate(org.springframework.data.mongo.core)推入mongoDB也很好用。 如何使用“service_id”作为Mongo的主键? 条件。 不要使用VO。(这意味着我不能

  • 定义一个接口还是很方便的,我先给出一个PHP语言中的形式。 <?php interface i_myinterface { public function hello(); } 那它在扩展中的实现是这样的。 zend_class_entry *i_myinterface_ce; static zend_function_entry i_myinterface_method[]={

  • 我在WebDriver中的测试有问题。 在第一个包我有2类(页)主页,登录页。 在secound包中,我有test-goToLiginPageTest和LoginTest。 在Gotoligini页面,我检查,我在主页上,并进入登录页面。 在LoginTest中,我检查我是否在登录页面上,并登录。 但来自goToLiginPageTest的两个测试通过,但来自LoginTest的测试失败。 我不确

  • 问题内容: 我想知道我们可以在一个接口内定义一个接口。喜欢 这是面试中提出的问题。任何实时使用。 问题答案: 是的,我们可以做到。Java中的嵌套接口的定义如下: 嵌套接口是其声明出现在另一个类或接口的主体内的任何接口。顶级接口是不是嵌套接口的接口。 请参阅此为多。 进一步 … 一个原因可能是外部接口具有一种将回调实现作为参数的方法。在这种情况下,嵌套接口是回调方法必须实现的协定。我没有理由在顶层

  • 我试图模拟一个使用JAXRS的类,这个类是一个spring组件。

  • 问题内容: 我正在尝试找到一种方法来加载JSON页面以显示我当前拥有的内容。但是我试图在每个元素中逐渐消失吗?有谁熟悉这样做的方法吗? 淡入淡出每个元素的时间? 这是我的代码示例,我正在使用jquery框架。 代码:http://pastie.org/343896 问题答案: 好了,您可以设置淡入淡出功能来触发“下一个”。 但是计时器可能是一个更好的系统,或者是将它们全部收集,将它们放入一个数组中