MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Spring Mongo Populator từng cái một

Không có hỗ trợ tích hợp cho yêu cầu của bạn nhưng bạn có thể dễ dàng cung cấp bằng cách điều chỉnh một số lớp.

Thêm đầu đọc Jackson 2 tùy chỉnh

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;
    }
}

Thêm trình giả lập Jackson 2 tùy chỉnh

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

Cấu hình

@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;
    }

}

Tôi đang tải lên một ví dụ hoạt động tại đây



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Xây dựng mongo-cxx-driver bằng CMake ExternalProject_Add

  2. MongoDB - Còn kiểu giá trị Decimal thì sao?

  3. MongoCursorException - Không tìm thấy con trỏ (MongoDB PHP Driver)

  4. Cập nhật hàng loạt với Mongoose

  5. Cơ sở dữ liệu tài liệu:Dữ liệu dự phòng, tài liệu tham khảo, v.v. (cụ thể là MongoDB)