@RequiredArgsConstructor注解

这篇具有很好参考价值的文章主要介绍了@RequiredArgsConstructor注解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

文章目录

一、RequiredArgsConstructor是什么?

二、使用步骤

1.引入依赖

2.使用方式

总结


一、RequiredArgsConstructor是什么?

Lombok中的一个@RequiredArgsConstructor,简化了一些@Autowired注解,可以减少@Autowired的书写,我们在写controller或者Service层的时候,需要注入很多的mapper接口或者另外的service接口,这时候就会写很多的@Autowired注解,代码看起来很繁琐。

二、使用步骤

1.引入依赖

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
</dependency>

2.使用方式

代码如下:

package com.ruoyi.job.queue.disruptor.expressDetailWmsProcess;

import cn.hutool.json.JSONUtil;
import com.lmax.disruptor.WorkHandler;
import com.qingdao2world.settle.api.RemoteBizExpressMonthDetailService;
import com.qingdao2world.settle.api.domain.BmsExpressMonthDetailDto;
import com.qingdao2world.settle.api.domain.ExpressWmsDto;
import com.ruoyi.common.core.constant.SecurityConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.enums.ExpressStatusEnum;
import com.ruoyi.job.manager.WmsManager;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;

/**
 * 推送wms系统
 *
 * @author linaibo
 */

@RequiredArgsConstructor
@Slf4j
public class ExpressDetailWmsProcessEventHandler implements WorkHandler<ExpressDetailWmsProcessEvent> {

	private final RemoteBizExpressMonthDetailService remoteBizExpressMonthDetailService;
	private final WmsManager wmsManager;

	@Override
	public void onEvent(ExpressDetailWmsProcessEvent event) {
		//锁住信息,将状态更新为对接中
		BmsExpressMonthDetailDto express = event.getValue();
		R<String> result =  remoteBizExpressMonthDetailService.updateCompanyByLogistics(express.getLogisticsNo(), ExpressStatusEnum.DOCKING.expressStatus, SecurityConstants.INNER);
		if(!result.isSuccess()){
			log.error("快递明细更新失败"+ JSONUtil.toJsonStr(express));
			event.setStop(true);
			return;
		}
		//将信息推送到wms
		ExpressWmsDto expressWmsDto = new ExpressWmsDto();
		BeanUtils.copyProperties(express,expressWmsDto);
		R<String> result2 = wmsManager.importExpress(expressWmsDto);
		if (!result2.isSuccess()) {
			event.setStop(true);
			log.info("快递信息推送WMS系统失败" + JSONUtil.toJsonStr(expressWmsDto));
			//更新快递状态为3(对接失败)
			remoteBizExpressMonthDetailService.updateCompanyByLogistics(express.getLogisticsNo(),ExpressStatusEnum.DOCKFAIL.expressStatus, SecurityConstants.INNER);
			return;
		}
	}

}

总结

类上加上@RequiredArgsConstructor,需要注入的类要用final声明,或者使用@NonNull。文章来源地址https://www.toymoban.com/news/detail-514575.html

到了这里,关于@RequiredArgsConstructor注解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • @Reference注解,看这一篇文章就够了。

            @Reference是Dubbo框架中的注解,用于注入远程服务的引用。         在Dubbo框架中,服务提供者和服务消费者是通过RPC方式进行通信的。服务消费者需要通过Dubbo框架来获取服务提供者的实例,通过这个实例来调用服务提供者的方法。当服务消费者在代码中需要调

    2023年04月25日
    浏览(98)
  • 学java注解,看这一篇文章就够了

    Annotation(注解)是一种标记,使类或接口附加额外信息,帮助编译器和 JVM 完成一些特定功能。 Annotation(注解)也被称为元数据(Metadata)是JDK1.5及以后版本引入的,用于修饰 包、类、接口、字段、方法参数、局部变量 等。 常见的注解如:@Override、@Deprecated和@SuppressWarnings 2.1 使用步

    2024年02月06日
    浏览(47)
  • 【数据结构】【王道】【数据结构实现】文章目录

    持续更新中。。。 数据结构 链接 顺序表实现及基本操作(可直接运行) 文章链接 无头结点单链表的实现及基本操作(可直接运行) 文章链接 带头结点单链表的实现及基本操作(可直接运行) 文章链接 双链表的实现及基本操作(可直接运行) 文章链接 循环链表的实现及

    2023年04月08日
    浏览(92)
  • vscode 系列文章目录 - ctrl+鼠标左键无效

    vscode 中有时会遇到 “Alt + 鼠标点击” 有效,但 “Ctrl + 鼠标点击” 无效,这时可以通过 Ctrl + , 进行系统配置。 进入VScode的首选项,选择设置(快捷键 Ctrl + , ),输入Go to definition,找到如下两个设置。 Editor: Multi Cursor Modifier 设置成 alt “editor.gotoLocation.multipleDefinitions” 设置

    2024年04月23日
    浏览(54)
  • 【vim 学习系列文章 5 - cscope 过滤掉某些目录】

    上篇文章:【vim 学习系列文章 4 - vim与系统剪切板之间的交互】 下篇文章:【vim 学习系列文章 6 – vim 如何从上次退出的位置打开文件】 第一步 创建自己的 cscope 脚本 ~/.local/bin/cscope.sh ,如下: 我的这个脚本首先去区分当前执行 cscope 命令的目录是 rt-thread 目录还是 linux 目

    2024年02月12日
    浏览(84)
  • 一篇文章带你了解SpringBoot目录结构

    前言 SpringBoot是整合Spring技术栈的一站式框架,是简化Spring技术栈的快速开发脚手架,是一个能够快速构建生产级别的Spring应用的工具。SpringBoot是目前流行的微服务框架,倡导“约定优于配置”,简化Spring项目搭建及开发过程。springboot提供了很多核心的功能,比如自动化配置

    2024年03月25日
    浏览(71)
  • Spring的条件注解,一篇文章盘得清清楚楚明明白白

    在Spring中,条件注解可根据特定的条件来决定是否创建或配置Bean,这些条件可以基于类、属性、环境等因素。通过使用条件注解,我们可以在Spring容器中更加灵活地管理和控制组件的创建和注入,帮助我们更加灵活地管理和控制Bean的创建和注入,提高代码的灵活性和可维护

    2024年02月07日
    浏览(39)
  • Git系列文章目录 - Git 子模块git submodule使用

    项目中有时会遇到会涉及子模块的使用,比如 flatpak 项目包含多个子模块。 进入需要添加子模块的目录,一般是项目根目录。 删除子模块目录及源码: 删除项目目录下.gitmodules文件中子模块相关条目: 删除配置项中子模块相关条目: 删除模块下的子模块目录: 清除子模块

    2024年01月20日
    浏览(66)
  • @RequiredArgsConstructor(onConstructor=@_(@Autowired))是什么语法?

    这是 Lombok 语法糖写法。 在我们写controller或者Service层的时候,需要注入很多的mapper接口或者另外的service接口,这时候就会写很多的@AutoWired注解 lombok提供注解: 写在类上可以代替@AutoWired注解,需要注意的是在注入时需要用final定义,或者使用@notnull注解。

    2024年02月09日
    浏览(29)
  • 目录(文章更新中...)《实战NFT web3 solidity(新版本0.8.+)》

    注:由于是付费专栏内容,若有错误请及时联系@1_bit,博客链接:https://blog.csdn.net/A757291228 ,或在文章下留言,收到后将会对错误进行改正,若是版本更新导致的问题也希望大家对错误进行提交,尽力去保证付费用户该得到的权益。 友情提示:本系列文章读者最好学过一门编

    2024年02月16日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包