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

网站建设是否包含等保软件论坛网站有哪些

网站建设是否包含等保,软件论坛网站有哪些,加强主流网站建设,北京商场开门吗1. 引言 在上一篇文章中,我们详细探讨了 Spring Batch 的核心组件(Job、Step、Chunk、ItemReader、ItemProcessor、ItemWriter),并通过示例展示了它们的协作方式。掌握了这些组件后,接下来需要了解如何灵活配置 Spring Batch 作业,并通过调度机制控制作业的执行时机。本…

1. 引言

在上一篇文章中,我们详细探讨了 Spring Batch 的核心组件(Job、Step、Chunk、ItemReader、ItemProcessor、ItemWriter),并通过示例展示了它们的协作方式。掌握了这些组件后,接下来需要了解如何灵活配置 Spring Batch 作业,并通过调度机制控制作业的执行时机。本文将聚焦以下内容:

  • Spring Batch 的配置方式:XML 配置和 Java 配置的对比与实现。
  • JobParameters 的定义和使用,用于动态传递运行时参数。
  • 调度 Spring Batch 作业:使用 Spring Scheduler、Quartz 或手动触发。
  • 通过代码示例和 Mermaid 图表展示配置和调度的完整流程。

通过本文,你将学会如何根据项目需求配置 Spring Batch 作业,并实现定时或手动触发,为生产环境部署奠定基础。

2. Spring Batch 配置方式

Spring Batch 支持两种主要配置方式:XML 配置Java 配置。Java 配置因其类型安全和现代化特性在 Spring Boot 项目中更常见,但 XML 配置在遗留系统或特定场景中仍有使用价值。以下分别介绍这两种方式。

2.1 Java 配置

Java 配置使用 Spring 的 @Configuration 注解和流式 API(如 JobBuilderStepBuilder)定义 Job 和 Step。上一篇文章的示例已展示了 Java 配置,这里回顾并扩展一个更复杂的配置。

示例:Java 配置多 Step 作业

package com.example.springbatchdemo.config;import com.example.springbatchdemo.entity.Product;
import org.springframework.batch.core.Job;
import org.springframework.batch.core.Step;
import org.springframework.batch.core.job.builder.JobBuilder;
import org.springframework.batch.core.repository.JobRepository;
import org.springframework.batch.core.step.builder.StepBuilder;
import org.springframework.batch.item.database.JdbcBatchItemWriter;
import org.springframework.batch.item.database.builder.JdbcBatchItemWriterBuilder;
import org.springframework.batch.item.file.FlatFileItemReader;
import org.springframework.batch.item.file.builder.FlatFileItemReaderBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.ClassPathResource;
import org.springframework.transaction.PlatformTransactionManager;import javax.sql.DataSource;@Configuration
public class BatchConfiguration {@Beanpublic FlatFileItemReader<Product> reader() {return new FlatFileItemReaderBuilder<Product>().name("productReader").resource(new ClassPathResource("products.csv")).delimited().names("id", "name", "price").targetType(Product.class).build();}@Beanpublic ProductItemProcessor processor() {return new ProductItemProcessor();}@Beanpublic JdbcBatchItemWriter<Product> writer(DataSource dataSource) {return new JdbcBatchItemWriterBuilder<Product>().sql("INSERT INTO product (id, name, price) VALUES (:id, :name, :price)").dataSource(dataSource).beanMapped().build();}@Beanpublic Step importStep(JobRepository jobRepository, PlatformTransactionManager transactionManager) {return new StepBuilder("importStep", jobRepository).<Product, Product>chunk(10).reader(reader()).processor(processor()).writer(writer(dataSource)).transactionManager(transactionManager).build();}@Beanpublic Step logStep(JobRepository jobRepository, PlatformTransactionManager transactionManager) {return new StepBuilder("logStep", jobRepository).tasklet((contribution, chunkContext) -> {System.out.println("Job completed successfully!");return RepeatStatus.FINISHED;}).transactionManager(transactionManager).build();}@Beanpublic Job importProductsJob(JobRepository jobRepository, Step importStep, Step logStep) {return new JobBuilder("importProductsJob", jobRepository).start(importStep).next(logStep).build();}
}

Processor 实现(为完整性重复):

package com.example.springbatchdemo.config;import com.example.springbatchdemo.entity.Product;
import org.springframework.batch.item.ItemProcessor;public class ProductItemProcessor implements ItemProcessor<Product, Product> {private static final double EXCHANGE_RATE = 0.14;@Overridepublic Product process(Product item) {if (item.getPrice() <= 0) {return null;}item.setPrice(item.getPrice() * EXCHANGE_RATE);return item;}
}

说明

  • 使用 @Bean 定义 Reader、Processor、Writer、Step 和 Job。
  • JobBuilderStepBuilder 提供流式 API,清晰定义作业结构。
  • 支持条件流(如 .on("COMPLETED").to(nextStep)),后续文章会深入。

优点

  • 类型安全,编译期检查错误。
  • 与 Spring Boot 集成紧密,易于调试。
  • 代码清晰,适合现代开发。

2.2 XML 配置

XML 配置使用 Spring 的 XML 配置文件定义 Job 和 Step,常见于早期 Spring 项目。以下是将上述 Java 配置转换为 XML 的等效实现。

示例:XML 配置

创建 batch-config.xml(放置在 src/main/resources):

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:batch

文章转载自:

http://rXn4gSrT.rnzgf.cn
http://rWVd5lRE.rnzgf.cn
http://re8VAc0k.rnzgf.cn
http://43Na6S0G.rnzgf.cn
http://rWKwD0OO.rnzgf.cn
http://9HlHO0KY.rnzgf.cn
http://Fy8Tju7D.rnzgf.cn
http://KAACkMb1.rnzgf.cn
http://UGbSlDfO.rnzgf.cn
http://3vRWzYA2.rnzgf.cn
http://GP1f1q2G.rnzgf.cn
http://8ySzffz5.rnzgf.cn
http://ElJqHScN.rnzgf.cn
http://L4zydnVl.rnzgf.cn
http://Kc8HCOGq.rnzgf.cn
http://YwSC3x5b.rnzgf.cn
http://9E2F8CH6.rnzgf.cn
http://iQ47FI3X.rnzgf.cn
http://leWj4SJW.rnzgf.cn
http://jommPfX0.rnzgf.cn
http://VQwKnYtP.rnzgf.cn
http://vj5TTK6F.rnzgf.cn
http://WWYDvlnL.rnzgf.cn
http://bjqmqqiL.rnzgf.cn
http://XQXhu9NK.rnzgf.cn
http://iV7KChWq.rnzgf.cn
http://1HU7PZRc.rnzgf.cn
http://ylkoWUW0.rnzgf.cn
http://jwFh45MI.rnzgf.cn
http://roQ45fPg.rnzgf.cn
http://www.dtcms.com/wzjs/677556.html

相关文章:

  • 大王庄网站建设公司天津网站优化实战
  • 手机网站制作流程信息发布网
  • 网站关键词指数查询工具公司做的网站入哪个会计科目
  • 怎么用电脑做网站服务器html5软件下载手机版
  • 成都网站建设询q479185700霸屏做网站的会计分录
  • 网站建设静态代码wordpress 隐形按钮
  • 沧州网站运营公司购物手机网站怎么做
  • 凯里专注网站建设报价58同城会员网站怎么做
  • 永久免费crm软件下载在线刷seo
  • php网站开发案例教程 dvdwordpress采集淘宝商品
  • 电商网站平台有哪些功能模块网站建设的网页怎么做
  • 成都市住房和城乡建设局官方网站在线销售网站设计文献
  • 怎么建设自己的网站成都小程序开发公司找哪家
  • 心雨在线高端网站建设专业wordpress登录qq
  • 行业网站运营wordpress homeslide
  • 模板网站怎么用怎么样可以建设网站
  • 移动电商网站开发需求工业设计是学什么
  • 怎么用文件传输协议登录网站阿哥体育个人网页
  • 如何让自己做的博客网站上线今天深圳大事件新闻
  • 免费永久个人域名注册系统优化软件哪个最好的
  • 网站举报平台12315怎么做网站的站点地图
  • 网站如何更新内容视频剪辑培训班学费一般多少
  • 深圳好的网站制作公司宝塔默认安装wordpress
  • 宁波正规站内优化seo购买网站建站
  • 做系统用什么网站网站上的导航栏怎么做
  • 做网站设计前景怎么样像素人物制作网站
  • 网站建设售后服务承诺建设企业网站就等于开展网络营销
  • 做阿里国际网站会有成效吗安徽宿州住房与建设网站
  • 沈阳做网站费用vr看房网站开发费用
  • 如何查找各种网站银行网站开发