Spring Batch:将数据从Web服务处理到MongoDB

概观

在这篇文章中,我们将介绍如何创建一个使用Web服务数据并将其插入MongoDB数据库的Spring Batch应用程序。

要求

阅读本文的开发人员必须熟悉Spring Batch(示例)和MongoDB。

环境

注意:批处理也可以在本地运行。

脚本

全局场景步骤是:

  1. 从Web服务读取数据,在这种情况下:https://sunrise-sunset.org/api

获取城市列表的坐标,然后调用API以读取日出和日落日期时间。

2.处理数据并提取业务数据

收集数据的业务处理

3.在MongoDB中插入已处理的数据

将处理过的数据保存为mongo文档

编码

  • 输入:本地文件中JSON格式的城市数据列表,如下所示:
[  
   {  
      “名字”“Danemark”
      “城市”:[  
         {  
            “名字”“Copenhague”
            “lat”55.676098
            “lng”12.568337
            “timeZone”“CET”
         },
         {  
            “名字”“奥胡斯”
            “lat”56.162939
            “lng”10.203921
            “timeZone”“CET”
         },
         {  
            “名字”“欧登塞”
            “lat”55.39594
            “lng”10.38831
            “timeZone”“CET”
         },
         {  
            “名字”“奥尔堡”
            “lat”57.046707
            “lng”9.935932
            “timeZone”“CET”
         }
      ]
   }
]

我们的场景从本地json文件获取输入数据。映射bean如下:

国豆:

导入 java。io。可序列化 ;
导入 java。util。清单 ;
 
进口 com。fastxml。杰克逊。注释。JsonIgnoreProperties ;
 
@JsonIgnoreProperties(ignoreUnknown  =  true
public  class  BCountry  实现 Serializable {
   
 
private  static  final  long  serialVersionUID  =  1L ;
 
私有 字符串 名称 ;
 
私人 名单< BCity >  城市 ;
 
public  BCountry(){
   
super();
}
 
public  BCountry(String  name,List < BCity >  cities){
   
super();
这个。name  =  name ;
这个。城市 =  城市 ;
}
 
public  BCountry(String  name){
   
super();
这个。name  =  name ;
}
 
public  String  getName(){
   
返回 名称 ;
}
 
public  void  setName(String  name){
   
这个。name  =  name ;
}
 
public  List < BCity >  getCities(){
   
返回 城市 ;
}
 
public  void  setCities(List < BCity >  cities){
   
这个。城市 =  城市 ;
}
 
 
 
@覆盖
public  int  hashCode(){
   
final  int  prime  =  31 ;
int  result  =  1 ;
结果 =  黄金 *  结果 +((城市 ==  )? 0:城市。的hashCode());
结果 =  黄金 *  结果 +((名称 ==  )? 0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值