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

springBoot中starter

springBoot项目中引入starter

项目引入xxljob,仅需要导入对应的starter包,即可进行快速开发

<dependency><groupId>com.ydl</groupId><artifactId>xxl-job-spring-boot-starter</artifactId><version>0.0.1-SNAPSHOT</version>
</dependency>

xxl-job-spring-boot-starter

目录结构:

pom.xml中仅导入对应的xxl-job-spring-boot-autoconfiguration依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>xxl-job-starter</artifactId><groupId>com.xiaozhen</groupId><version>0.0.1-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>xxl-job-spring-boot-starter</artifactId><dependencies><dependency><groupId>com.ydl</groupId><artifactId>xxl-job-spring-boot-autoconfiguration</artifactId><version>0.0.1-SNAPSHOT</version></dependency></dependencies></project>

pom.properties

version=0.0.1-SNAPSHOT
groupId=com.xiaozhen
artifactId=xxl-job-spring-boot-starter

xxl-job-spring-boot-autoconfiguration

目录文件

 xxlJobAutoConfiguration为配置类,springBoot启动时会加重

/*** 注解解释:** @Configuration  //指定这个类是一个配置类* @ConditionalOnXXX  //在指定条件成立的情况下自动配置类生效* @AutoConfigureAfter  //指定自动配置类的顺序* @Bean  //给容器中添加组件* @ConfigurationPropertie结合相关xxxProperties类来绑定相关的配置* @EnableConfigurationProperties //让xxxProperties生效加入到容器中*/
@Component
@EnableConfigurationProperties({XxlJobProperties.class})
public class XxlJobAutoConfiguration {private static Logger logger = LoggerFactory.getLogger(XxlJobAutoConfiguration.class);@Resourceprivate XxlJobProperties xxlJobProperties;public XxlJobAutoConfiguration() {}/*** 配置信息**/@Beanpublic XxlJobSpringExecutor xxlJobExecutor() {logger.info(">>>>>>>>>>> xxl-job config init.");XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();xxlJobSpringExecutor.setAdminAddresses(this.xxlJobProperties.getAdminAddresses());xxlJobSpringExecutor.setAppName(this.xxlJobProperties.getExecutorAppName());xxlJobSpringExecutor.setIp(this.xxlJobProperties.getExecutorIp());xxlJobSpringExecutor.setPort(this.xxlJobProperties.getExecutorPort());xxlJobSpringExecutor.setAccessToken(this.xxlJobProperties.getAccessToken());xxlJobSpringExecutor.setLogPath(this.xxlJobProperties.getExecutorLogPath() + this.xxlJobProperties.getExecutorAppName());xxlJobSpringExecutor.setLogRetentionDays(this.xxlJobProperties.getExecutorLogRetentionDays());return xxlJobSpringExecutor;}
}

xxlJobProperties

@ConfigurationProperties(prefix = "xxl.job"
)
public class XxlJobProperties {private String adminAddresses = "http://localhost:8093/xxl-job-admin";private String accessToken;private String executorAppName = "xxl-job-executor-default";private String executorIp;private int executorPort = 9999;private String executorLogPath = "/data/applogs/xxl-job/jobhandler/";private int executorLogRetentionDays = 30;public XxlJobProperties() {}
}

pom.xml导入相关的jar包

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><artifactId>xxl-job-starter</artifactId><groupId>com.xiaozhen</groupId><version>0.0.1-SNAPSHOT</version></parent><groupId>com.ydl</groupId><artifactId>xxl-job-spring-boot-autoconfiguration</artifactId><version>0.0.1-SNAPSHOT</version><name>xxl-job-spring-boot-autoconfiguration</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><optional>true</optional></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope><exclusions><exclusion><groupId>org.junit.vintage</groupId><artifactId>junit-vintage-engine</artifactId></exclusion></exclusions></dependency><!-- xxl-job-core --><dependency><groupId>com.xuxueli</groupId><artifactId>xxl-job-core</artifactId><version>2.1.1</version></dependency></dependencies>
</project>

spring.factories文件(spring启动的时候会加载此文件中的配置类)

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.ydl.xxljobspringbootautoconfiguration.XxlJobAutoConfiguration

另外这个spring.factories文件还可配置监听类

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.alibaba.boot.dubbo.autoconfigure.DubboAutoConfigurationorg.springframework.context.ApplicationListener=\
com.alibaba.boot.dubbo.context.event.OverrideDubboConfigApplicationListener,\
com.alibaba.boot.dubbo.context.event.WelcomeLogoApplicationListener,\
com.alibaba.boot.dubbo.context.event.AwaitingNonWebApplicationListener

public class AwaitingNonWebApplicationListener implements ApplicationListener<ApplicationReadyEvent> {@Order //最低优先级确保最后执行
public class OverrideDubboConfigApplicationListener implements ApplicationListener<ApplicationEnvironmentPreparedEvent> {@Order(LoggingApplicationListener.DEFAULT_ORDER + 1)
public class WelcomeLogoApplicationListener implements ApplicationListener<ApplicationEnvironmentPreparedEvent> {

相关文章:

springBoot中starter

springBoot项目中引入starter 项目引入xxljob&#xff0c;仅需要导入对应的starter包&#xff0c;即可进行快速开发 <dependency><groupId>com.ydl</groupId><artifactId>xxl-job-spring-boot-starter</artifactId><version>0.0.1-SNAPS…...

Linux学习笔记-Ubuntu下使用Crontab设置定时任务

文章目录 一、概述二、基于crontab的设置2.1 基本命令说明2.2 使用-e指令编辑命令2.2.1 进入编辑模式2.2.2 指令信息格式2.2.4 开启日志1) 修改rsyslog配置文件2) 重启rsyslog3) 查看日志 2.2.3 设置后之后重启服务 三、示例3.1 每隔一分钟往文件中日期3.2 使用-l查看任务列表3…...

动态规划求数组中相邻两数的最小差值( 即相差的绝对值 ) java 实现

算法的核心是&#xff1a;计算当前数和前一个数的差值,用该差值和以前最小的连续数的差值作比较&#xff1b;如果当前的差值更小&#xff0c;则发现了更小的连续数的差值&#xff1b;如果当前的差值更大&#xff0c;则沿用以前的最小连续数差值作为新的最小连续数差值。 MinDif…...

webGL开发微信小游戏

WebGL 是一种用于在浏览器中渲染 2D 和 3D 图形的 JavaScript API。微信小游戏本质上是在微信环境中运行的基于 Web 技术的应用&#xff0c;因此你可以使用 WebGL 来开发小游戏。以下是基于 WebGL 开发微信小游戏的一般步骤&#xff0c;希望对大家有所帮助。北京木奇移动技术有…...

leetcode面试经典150题——29 三数之和

题目&#xff1a;盛最多水的容器 描述&#xff1a; 给你一个整数数组 nums &#xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k &#xff0c;同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元组。 注意…...

数据分析基础之《jupyter notebook工具》

一、安装库 1、linux库 yum install python3-devel 2、python库 pip3 install -U matplotlib pip3 install -U numpy pip3 install -U pandas pip3 install -U TA-Lib pip3 install -U tables pip3 install -U notebook 3、如果TA-Lib安装不上&#xff0c;先手动安装依赖库 …...

Android Studio Error “Unsupported class file major version 61“---异常信息记录

编译时异常信息 原因及解决办法 问题出在JAVA 17上&#xff0c;并且使用的Gradle JDK是&#xff1a;Android Studio java home版本17.0.1将其更改为&#xff1a;Android Studio默认JDK版本11.0.10 即可解决 操作步骤 1 2 3...

javaScript 内存管理

1 js 内存机制 内存空间&#xff1a;栈内存&#xff08;stack&#xff09;、堆内存&#xff08;heap&#xff09; 栈内存&#xff1a;所有原始数据类型都存储在栈内存中&#xff0c;如果删除一个栈原始数据&#xff0c;遵循先进后出&#xff1b;如下图&#xff1a;a 最先进栈&…...

Idea2023 Springboot web项目正常启动,页面展示404解决办法

Idea2023 Springboot web项目正常启动,页面展示404解决办法 问题&#xff1a; 项目启动成功&#xff0c;但是访问网页&#xff0c;提示一直提示重定向次数过多&#xff0c;404 解决方法 在IDEA的Run/Debug Configurations窗口下当前的Application模块的Working directory中添…...

Android手机如何用Charles抓包HTTPS接口

对Charles的安装和使用&#xff0c;这里就不重复介绍了&#xff0c;之前有介绍Charles工具。 本文重点介绍在Android手机上如何配置抓包环境 1.获取Charles配置 去Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or Remote Browser 查…...

Oracle for Windows安装和配置——Oracle for Windows net配置

2.3. Oracle for Windows net配置 2.3.1. Oracle net配置 2.3.1.1. Oracle net简介 前述章节中,我们只是安装了数据库软件,创建了数据库,测试在服务器本地连接查询数据库。但还不能通过网络远程连接访问数据库,因为我们还没配置用来远程连接访问该数据库的组件Oracle ne…...

C#中.NET 7.0 Windows窗体应用通过EF访问已有数据库并实现追加、删除、修改、插入记录

目录 一、前言 1.Database.ExecuteSqlCommand 方法不被EF7.0支持 2.SET IDENTITY_INSERT Blog {ON,OFF}不起作用 3.主键和标识列分离&#xff0c;成功实现插入与修改 二、新建本文涉及的项目 三、程序设计 1.Form1.cs源码 2.Form1.cs[设计] 四、生成和测试 1.原始表 …...

【文末送书】计算机网络 | IO多路转接技术 | poll/epoll详解

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和…...

【Linux】 uptime命令使用

uptime 正常运行时间提供以下信息的单行显示。当前时间、系统运行的时间、当前登录的用户数量以及过去1、5和15分钟的系统平均负载。 语法 uptimeuptime命令 -Linux手册页 作者 由Larry Greenfield编写和迈克尔K约翰逊编写。 命令选项及作用 执行令 man uptime 执行命令结…...

数学建模-图与网络模型解题方法和代码实现

本文针对以下几个方面问题进行整理&#xff1a; 最短路问题 两个指定顶点之间的最短路径任意顶点之间的最短路径 2.最小生成树问题 求最小生成树 3.网络最大流问题 源点与汇点之间的最大流基于最大流的最小费用求解 4.旅行商问题 基于哈密顿(Hamilton)圈求解旅行商线性…...

宏集新闻 | 虹科传感器事业部正式更名为宏集科技

致一直支持“虹科传感器”的朋友们&#xff1a; 为进一步整合资源&#xff0c;给您带来更全面、更优质的服务&#xff0c;我们非常荣幸地宣布&#xff0c;虹科传感器事业部已正式更名为宏集科技。这一重要的改变代表了虹科持续发展进程中的新里程碑&#xff0c;也体现了我们在传…...

DataFunSummit:2023年数据基础架构峰会-核心PPT资料下载

一、峰会简介 正如From、Join、排序等是SQL的基本算子&#xff0c;存储与计算是也是数据架构中数据生产与消费的基本算子&#xff0c;对于数据架构之下的技术栈层级&#xff0c;我们可将其定义为数据基础架构。 数据存储技术在适应大数据时代的规模需求基础之上&#xff0c;持…...

解析大型语言模型的训练、微调和推理的运行时性能

背景 这篇论文是截至目前为数不多的介绍大模型训练配套环境比对的论文&#xff0c;对于想要入门大模型训练同学是个不错的入门资料。比较了不同尺寸模型&#xff08;比较常用的7、13、70b&#xff09;&#xff0c;在不同型号gpu、训练框架、推理框架数据。结合自己实际工作需要…...

MAX/MSP SDK学习06:内存管理

提供两种内存分配方式&#xff1a;①简单指针&#xff0c;②句柄&#xff08;二级指针&#xff09;&#xff1b;官方文档建议使用前者。 // 简单指针 char *ptr; ptr sysmem_newptr(2000); post("I have a pointer %lx and it is %ld bytes in size",ptr, sysmem_p…...

python网络通信之基础知识填坑

文章目录 版权声明网络通信要素IP地址ifconfig和ping命令ifconfig (Interface Configuration)ping 端口和端口号的介绍端口号的分类socket介绍TCPTCP简介TCP的特点 UDPUDP简介UDP特点 版权声明 本博客的内容基于我个人学习黑马程序员课程的学习笔记整理而成。我特此声明&#…...

沃虎电子:工业以太网中共模电感与EMI抑制的选型与设计

一、共模电感的作用与工业环境挑战共模电感&#xff08;CMC&#xff09;利用两个绕向相同、匝数相等的线圈绕制在同一磁芯上&#xff0c;对共模噪声呈现高阻抗进行阻挡&#xff0c;对差模信号&#xff08;有效数据&#xff09;则因磁通相互抵消而几乎“透明”通过。这种被动“选…...

YOLO 系列:半监督学习落地:结合 FixMatch 范式,用少量标注数据训练 YOLOv11,降低标注成本

引言&#xff1a;当目标检测遇上“标注瓶颈” 计算机视觉社区有一句流传已久的调侃&#xff1a;“深度学习工程师的80%时间花在数据上&#xff0c;其中80%花在标注上。” 这句话虽然夸张&#xff0c;却道出了工业界和学术界共同的痛点。以目标检测为例&#xff0c;一张包含50个…...

AISMM模型落地预算规划全流程(2024财年头部企业已验证的7大关键控制点)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AISMM模型与预算规划融合的底层逻辑 AISMM&#xff08;Adaptive Intelligent Strategic Management Model&#xff09;并非传统静态框架&#xff0c;而是一个以实时反馈、多源数据协同与动态权重调整为…...

C++ typename auto 彻底讲透:核心作用、推导规则、避坑指南

本文属于C typename & autod &#xff0c;上一篇我们讲透了模板进阶的非类型参数、特化与分离编译&#xff0c;今天我们拆解两个最常用但最容易被误解的关键字 ——typename 和 auto。很多 C 开发者每天都在写 template 和 auto it v.begin()&#xff1b; 但很少有人能彻…...

红色沙漠代码 镜像

《红色沙漠》&#xff08;Crimson Desert&#xff09;是一款于 2026 年 3 月 19 日正式发行的开放世界动作冒险游戏。以下是关于该作作者、功能核心及竞品对比的简要介绍&#xff1a; 从夸克下载 正文内容 一、 开发者背景&#xff1a;Pearl Abyss 的技术野心 《红色沙漠》…...

3个步骤掌握AI Toolkit:从零到一的完整AI开发指南

3个步骤掌握AI Toolkit&#xff1a;从零到一的完整AI开发指南 【免费下载链接】vscode-ai-toolkit 项目地址: https://gitcode.com/GitHub_Trending/vs/vscode-ai-toolkit AI Toolkit for Visual Studio Code是一款专为开发者设计的AI应用开发扩展&#xff0c;它将Azur…...

RAG进阶:下一代RAG怎么玩?

基础RAG能解决80%的问题&#xff0c;但剩下20%的难题&#xff0c;需要更进阶的技术。一、基础RAG碰到了什么天花板 基础RAG的套路很简单&#xff1a;文档切块 → Embedding → 向量检索 → 拼接Prompt → 大模型生成答案。 简单场景够用&#xff0c;但往深了用&#xff0c;三个…...

GoBP:轻量级Go二进制协议框架的设计、实现与微服务实践

1. 项目概述与核心价值最近在梳理团队内部微服务架构的通信层时&#xff0c;我重新审视了各种RPC框架的选型。我们之前主要依赖gRPC&#xff0c;它在性能和跨语言支持上确实不错&#xff0c;但面对一些特定场景——比如需要极简依赖、快速原型验证&#xff0c;或者是对二进制协…...

别再只用scikit-learn了!用mlxtend给你的机器学习项目加个‘瑞士军刀’(附实战代码)

解锁机器学习效率革命&#xff1a;用mlxtend打造你的Python工具箱 在数据科学家的日常工作中&#xff0c;我们常常陷入重复造轮子的困境——花费大量时间编写那些看似简单却频繁出现的功能代码。当你在scikit-learn中实现一个决策边界可视化时&#xff0c;是否曾想过&#xff1…...

别再只用plt.grid(True)了!Matplotlib网格线自定义的5个实用技巧(附代码)

别再只用plt.grid(True)了&#xff01;Matplotlib网格线自定义的5个实用技巧&#xff08;附代码&#xff09; 如果你还在用plt.grid(True)来简单开启网格线&#xff0c;那可能错过了Matplotlib一半的美学潜力。网格线不只是背景装饰&#xff0c;它能引导视线、强化数据对比、甚…...