日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

SpringBatch处理器ScriptItemProcessor执行脚本语言详解

發布時間:2025/1/21 javascript 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringBatch处理器ScriptItemProcessor执行脚本语言详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

ScriptItemProcessor介紹

ScriptItemProcessor方法和屬性介紹

ScriptItemProcessor實戰


ScriptItemProcessor介紹

腳本語言通常更易于創建和修改,所以對于需要頻繁修改的組件,腳本能夠提供很大的靈活性。通過在ItemProcessor中執行腳本語言,SpringBatch把這種靈活性注入了批處理作業。ScriptItemProcessor允許設定一段腳本,從而接收ItemProcessor的輸入,返回的對象是ItemProcessor的輸出。?

ScriptItemProcessor方法和屬性介紹

以下主要ScriptItemProcessor介紹下常用的兩種方法

  • setScript(Resource resource)執行腳本路徑
public void setScript(Resource resource) {Assert.notNull(resource, "The script resource cannot be null");this.script = new ResourceScriptSource(resource);}
  • setItemBindingVariableName(String itemBindingVariableName)執行腳本時候綁定屬性名稱,默認值為item
public void setItemBindingVariableName(String itemBindingVariableName) {this.itemBindingVariableName = itemBindingVariableName;}

ScriptItemProcessor實戰

小需求是:把CafeCat文件地址內容轉換為大寫。

  • 定義upperCase.js function Cat(){} var cat = new Cat(); cat.cataddress=item.getCataddress().toUpperCase(); cat.catage=item.getCatage()+1; cat.catname=item.getCatname().toLowerCase(); cat;
  • 執行腳本語言ScriptCatConfiguration

/*** 執行腳本語言* @author: shuliangzhao* @date 2021/11/1311:19*/ @Configuration @EnableBatchProcessing public class ScriptCatConfiguration {@Autowiredprivate JobBuilderFactory jobBuilderFactory;@Autowiredprivate StepBuilderFactory stepBuilderFactory;@Autowiredprivate SqlSessionFactory sqlSessionFactory;@Beanpublic Job scriptCafeCatJob() {return jobBuilderFactory.get("scriptCafeCatJob").start(scriptCafeCatStep()).build();}@Beanpublic Step scriptCafeCatStep() {return stepBuilderFactory.get("scriptCafeCatStep").<CafeCat, Cat>chunk(10).reader(scriptCatCommonFileItemReader()).processor(scriptItemProcessor(null)).writer(scriptCatCommonMybatisItemWriter()).build();}@Bean@StepScopepublic CommonFileItemReader<CafeCat> scriptCatCommonFileItemReader() {return new CommonFileItemReader<>(CafeCat.class);}@Bean@StepScopepublic ScriptItemProcessor<CafeCat,Cat> scriptItemProcessor(@Value("#{jobParameters['script']}") String script) {ScriptItemProcessor<CafeCat,Cat> scriptItemProcessor = new ScriptItemProcessor<>();Resource resource = new FileSystemResource(script);scriptItemProcessor.setScript(resource);return scriptItemProcessor;}@Bean@StepScopepublic CommonMybatisItemWriter<Cat> scriptCatCommonMybatisItemWriter() {return new CommonMybatisItemWriter<>(sqlSessionFactory,Cat.class.getSimpleName());} }
  • 執行結果為:

  • ?數據庫內容:

?詳細代碼請看:具體詳細代碼。

如果喜歡這篇文章的話請關注我一鍵三連!謝謝!

總結

以上是生活随笔為你收集整理的SpringBatch处理器ScriptItemProcessor执行脚本语言详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。