当前位置: 首页 > news >正文

餐饮小程序开发网站建设优化哪家公司好

餐饮小程序开发,网站建设优化哪家公司好,自己买个服务器有什么用,四种常用的erp软件目录 文档基础概念Tasklet方式示例Chunk方式示例参考文章 文档 https://docs.spring.io/spring-batch/docs/4.3.9/reference/html/index.html 基础概念 JobLauncher#xff1a;作业启动器#xff0c;启动作业的入口。对应的实现类为SimpleJobLauncher。Job#xff1a;作业… 目录 文档基础概念Tasklet方式示例Chunk方式示例参考文章 文档 https://docs.spring.io/spring-batch/docs/4.3.9/reference/html/index.html 基础概念 JobLauncher作业启动器启动作业的入口。对应的实现类为SimpleJobLauncher。Job作业用于配置作业的相关配置一个作业可以配置多个步骤步骤之间是有序的。Step步骤作业具体执行的业务逻辑一个Job可以配置多个Step。步骤有两种实现方式 Tasklet方式所有作业逻辑写在一个方法中。Chunk方式将一个完整的作业逻辑根据作用拆分到三个方法中 ItemReader负责从数据源中读数据如从文件、数据库等。ItemProcessor 负责对读出来的数据进行非法校验和对数据进行加工。ItemWriter将数据写到某个目标中如文件、数据库等。 JobBuilderFactory作业构建起工厂用于构建作业Job对象。 get(String name)设置作业名称。start(Step step)设置作业启动的第一个步骤。build()构建Job对象。 StepBuilderFactory作业构建器工厂用于构造步骤Step对象。 get(String name)设置步骤名称。tasklet(Tasklet tasklet)设置Tasklet。build()构建Step对象。 JobRepository作业持久化在执行作业的过程中用于操作spring batch相关的表记录作业的相关状态等。 Tasklet方式示例 运行环境 $ java -version java version 1.8.0_361 Java(TM) SE Runtime Environment (build 1.8.0_361-b09) Java HotSpot(TM) 64-Bit Server VM (build 25.361-b09, mixed mode)spring-batch依赖 !-- spring-batch -- dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-batch/artifactId /dependencydependencygroupIdorg.springframework.batch/groupIdartifactIdspring-batch-test/artifactIdscopetest/scope /dependency!-- h2、mysql... -- dependencygroupIdcom.h2database/groupIdartifactIdh2/artifactIdscoperuntime/scope /dependency备注第一次照着网上的文章写代码运行直接报错原因是缺少引入的依赖需要引入数据库驱动如H2或mysql 项目结构 $ tree . ├── pom.xml └── src└── main├── java│ └── com│ └── example│ └── demo│ ├── HelloWorldApplication.java│ ├── config│ │ └── BatchConfig.java│ └── task│ └── HelloWorldTasklet.java└── resources 完整依赖pom.xml ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.7.7/versionrelativePath/ !-- lookup parent from repository --/parentgroupIdcom.example/groupIdartifactIddemo/artifactIdversion0.0.1-SNAPSHOT/versionnamedemo/namedescriptionDemo project for Spring Boot/descriptionpropertiesjava.version1.8/java.versionmybatis-plus.version3.5.2/mybatis-plus.version/propertiesdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-devtools/artifactIdscoperuntime/scopeoptionaltrue/optional/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependency!-- spring-batch --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-batch/artifactId/dependencydependencygroupIdorg.springframework.batch/groupIdartifactIdspring-batch-test/artifactIdscopetest/scope/dependencydependencygroupIdcom.h2database/groupIdartifactIdh2/artifactIdscoperuntime/scope/dependency!-- test --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependencydependencygroupIdjunit/groupIdartifactIdjunit/artifactIdscopetest/scope/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdconfigurationexcludesexcludegroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId/exclude/excludes/configuration/plugin/plugins/build/project 编写业务逻辑 package com.example.demo.task;import org.springframework.batch.core.StepContribution; import org.springframework.batch.core.scope.context.ChunkContext; import org.springframework.batch.core.step.tasklet.Tasklet; import org.springframework.batch.repeat.RepeatStatus; import org.springframework.stereotype.Component;/*** 任务*/ Component public class HelloWorldTasklet implements Tasklet {Overridepublic RepeatStatus execute(StepContribution contribution, ChunkContext chunkContext) throws Exception {System.out.println(Hello, World!);return RepeatStatus.FINISHED;} } 配置作业步骤 package com.example.demo.config;import com.example.demo.task.HelloWorldTasklet; import org.springframework.batch.core.Job; import org.springframework.batch.core.Step; import org.springframework.batch.core.configuration.annotation.JobBuilderFactory; import org.springframework.batch.core.configuration.annotation.StepBuilderFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;/*** Spring Batch配置*/ Configuration public class BatchConfig {Autowiredprivate JobBuilderFactory jobBuilderFactory;Autowiredprivate StepBuilderFactory stepBuilderFactory;Autowiredprivate HelloWorldTasklet helloWorldTasklet;Beanpublic Step step() {return this.stepBuilderFactory.get(step).tasklet(helloWorldTasklet).build();}Beanpublic Job job(Step step) {return this.jobBuilderFactory.get(job).start(step).build();} } 启动类增加注解EnableBatchProcessing package com.example.demo;import org.springframework.batch.core.configuration.annotation.EnableBatchProcessing; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;EnableBatchProcessing SpringBootApplication public class HelloWorldApplication {public static void main(String[] args) {SpringApplication.run(HelloWorldApplication.class, args);}} Chunk方式示例 项目结构 $ tree . ├── pom.xml └── src└── main├── java│ └── com│ └── example│ └── demo│ ├── Application.java│ ├── config│ │ └── BatchConfig.java│ ├── dto│ │ └── Person.java│ └── processor│ └── PersonItemProcessor.java└── resources└── persons.csv 依赖pom.xml 同上 package com.example.demo.dto;import lombok.Data;Data public class Person {private String name;private Integer age; } package com.example.demo.config;import com.example.demo.dto.Person; import com.example.demo.processor.PersonItemProcessor; import org.springframework.batch.core.Job; import org.springframework.batch.core.Step; import org.springframework.batch.core.configuration.annotation.JobBuilderFactory; import org.springframework.batch.core.configuration.annotation.StepBuilderFactory; import org.springframework.batch.item.file.FlatFileItemReader; import org.springframework.batch.item.file.builder.FlatFileItemReaderBuilder; import org.springframework.batch.item.json.JacksonJsonObjectMarshaller; import org.springframework.batch.item.json.JsonFileItemWriter; import org.springframework.batch.item.json.builder.JsonFileItemWriterBuilder; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.FileSystemResource;/*** Spring Batch配置*/ Configuration public class BatchConfig {Autowiredprivate JobBuilderFactory jobBuilderFactory;Autowiredprivate StepBuilderFactory stepBuilderFactory;Beanpublic Step step() {return this.stepBuilderFactory.get(step).Person, Personchunk(10).reader(reader()).processor(processor()).writer(writer()).build();}Beanpublic Job job(Step step) {return this.jobBuilderFactory.get(job).start(step).build();}/*** 读取csv文件* return*/Beanpublic FlatFileItemReaderPerson reader() {return new FlatFileItemReaderBuilderPerson().name(personItemReader).resource(new ClassPathResource(persons.csv)).delimited().names(new String[] {name, age}).targetType(Person.class).build();}/*** 处理器* return*/Beanpublic PersonItemProcessor processor() {return new PersonItemProcessor();}/*** 写到json文件* return*/Beanpublic JsonFileItemWriterPerson writer() {return new JsonFileItemWriterBuilderPerson().jsonObjectMarshaller(new JacksonJsonObjectMarshaller()).resource(new FileSystemResource(persons.json)).name(personItemWriter).build();}} package com.example.demo.processor;import com.example.demo.dto.Person; import org.springframework.batch.item.ItemProcessor;public class PersonItemProcessor implements ItemProcessorPerson, Person {Overridepublic Person process(Person person) throws Exception {// 为每个对象年龄1person.setAge(person.getAge() 1);return person;} } 启动入口 package com.example.demo;import org.springframework.batch.core.configuration.annotation.EnableBatchProcessing; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;EnableBatchProcessing SpringBootApplication public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}} 启动SpringBoot即可运行任务 读取的persons.csv文件 Tom,18 Jack,20 生成的persons.json 文件 [{name:Tom,age:19},{name:Jack,age:21} ]参考文章 SpringBatch从入门到实战(二)HelloWorldSpring Batch 之 Hello WorldSpring Batch 入门级示例教程Spring Batch 批处理框架优化实践效率嘎嘎高
http://www.hkea.cn/news/14441987/

相关文章:

  • 廊坊酒店网站建设建设工程安全监督备案网站
  • 个人网站要怎么做商城网站开发价
  • 徐州英文网站优化代理网址设置
  • 徐州网站建设招聘网搜索引擎广告有哪些
  • 查企业网站给私人企业做网站推广
  • 南昌网站排名优化临清网站建设费用
  • 做便民网站都需要哪些模块android studio期末大作业
  • 照片做3d网站前端做学校网站教务
  • 石家庄哪里做网站比较好无忧网站建设多少钱
  • 网站开发过滤器作用企业备案网站内容
  • 自己做网站可以上传软件学校官网主页网页设计
  • 营销型企业网站的类型wordpress代码语言
  • 企业网站流量建筑网站转发
  • 养殖企业网站免费素材大全视频
  • 做代码和网站搜索关键词优化排名
  • 建设网站的意义作用是什么意思泰州seo网络公司
  • 怎么用网站的二级目录做排名软件开放和网站开发
  • 外贸接单网站排名榜从来没做过网站如何做
  • 网站建设公司-山而南通高端网站建设咨询
  • 做网站代码的含义网站建设与设计致谢
  • 简单大气的网站模板如何自己创造网站
  • 响应式建站工具开发板有什么用
  • 网站统计代码放哪里新品牌推广策略
  • 背景 网站建设国内贸易在那个网站上做
  • 西部数码 网站建设2022最新通道地址1
  • 湖北建设执业资格注册中心网站商标注册查询系统
  • 高明网站建设首选公司中国建设银行网站查询密码是什么意思
  • 论坛类网站如何备案html5可以做手机网站吗
  • 免费设计的网站wordpress插件 七牛
  • 怎么检查网站死链郑州网站推广价