流水账-20240229

news2024/11/18 3:25:13

目录

  • git
    • 本地回滚到到`120bc409ee3b8f63a23d0060e55118bcce557acf`提交记录
    • 本地提交到已有代码分支
  • IDEA
    • 批量导入快捷键无效
    • 更换背景主题
    • 快捷键
      • 快捷键可以设置eclipse模式,但是有些不生效,可能是冲突了
      • `Ctrl+单击`,`Eclipse`里面是可以跳转到代码内部;`IDEA`是跳转到引用该方法的地方(`Ctrl + Alt +B`是跳转到方法内部)
      • 格式化代码快捷键:`Ctrl+Alt+L`
      • 转换大小写:`Ctrl+Shift+Y`(*eclipse*)或者`Ctrl+Shift+U`
      • 下划线转驼峰的用插件 `CamelCase`,快捷键是 `Shift + Alt + U`
    • 在这里插入图片描述
      • 外部修改了文件名称,类内部名称需要修改,进入类内部,点击`Alt + Enter`,可以选择改成和外部名称一致,或者外部名称改成和内部一致
      • `Ctrl+E`查看最近打开文件记录列表
      • Alt + 箭头左右 (回到之前操作的文件)
    • 设置打开代码窗口无上限
    • Ctrl+Shift+O去除无用import,变成了导入.*,导致checkstyle不通过
  • java
    • org.springframework.util.ReflectionUtils
    • 比对相同实体的属性值是否相同
      • 源码

git

本地回滚到到120bc409ee3b8f63a23d0060e55118bcce557acf提交记录

git reset --hard 120bc409ee3b8f63a23d0060e55118bcce557acf

在这里插入图片描述
强制推送到远程仓库,废弃掉之前的提交(这样做可能会改变其他人已经拉取的分支):

git push origin --force --all

本地提交到已有代码分支

在您本地对直接导入并解压缩的代码文件进行修改后,要同步到下载的Git代码分支上,可以按照以下步骤操作:

  • 首先确保你已经在本地的这个项目文件夹下初始化了Git仓库,并且已经关联到远程的GitHub仓库。如果没有,请执行以下命令:

    cd 你的项目文件夹路径
    git init
    git remote add origin 远程仓库地址
    
  • 将修改的文件添加到暂存区:

    git add .
    

    这里.代表所有修改过的文件,如果你只想添加特定文件,可以用git add 文件名

  • 提交本地更改:

    git commit -m "你的提交描述信息"
    
  • 推送到对应的远程分支(假设是master分支):

    git push origin master
    
  • 如果远程分支不是master,比如是dev分支,则改为:

    git push origin dev
    
  • 如果在推送时遇到权限问题或者需要推送到一个新分支,可能需要使用-u参数创建与远程分支的追踪关系,以及-f参数强制推送:

    git push -u origin 新分支名称 -f
    

    请谨慎使用-f参数,因为它会覆盖远程分支上的内容。

IDEA

批量导入快捷键无效

Alt+Enter,批量导入类无效,可以尝试打开下面开关
在这里插入图片描述

更换背景主题

在这里插入图片描述

快捷键

快捷键可以设置eclipse模式,但是有些不生效,可能是冲突了

在这里插入图片描述

Ctrl+单击Eclipse里面是可以跳转到代码内部;IDEA是跳转到引用该方法的地方(Ctrl + Alt +B是跳转到方法内部)


格式化代码快捷键:Ctrl+Alt+L


转换大小写:Ctrl+Shift+Y(eclipse)或者Ctrl+Shift+U


下划线转驼峰的用插件 CamelCase,快捷键是 Shift + Alt + U

在这里插入图片描述

外部修改了文件名称,类内部名称需要修改,进入类内部,点击Alt + Enter,可以选择改成和外部名称一致,或者外部名称改成和内部一致


Ctrl+E查看最近打开文件记录列表


Alt + 箭头左右 (回到之前操作的文件)


设置打开代码窗口无上限

在这里插入图片描述

Ctrl+Shift+O去除无用import,变成了导入.*,导致checkstyle不通过

通过下面设置,默认超过5个就变成导入*
在这里插入图片描述

java

org.springframework.util.ReflectionUtils

ReflectionUtilsSpring框架提供的一个工具类,主要用于简化 Java反射相关的操作。这个类包含了多个静态方法,可以帮助开发者在运行时执行一些常见的反射任务,比如:

  1. 获取和设置私有字段的值:无论字段是否为私有,都可以通过 ReflectionUtils 访问其值。
  2. 调用方法:包括私有方法在内的任意方法都可以通过 ReflectionUtils 被安全地调用。
  3. 检查类、接口、方法和字段是否存在:辅助进行类结构的探测。
  4. 遍历类层次结构:递归查找父类或接口上的方法和字段。
  5. 设置访问权限:通过 makeAccessible() 方法临时改变访问控制,使得原本不可见的成员变为可见。
  6. 处理异常:对于可能出现的反射异常进行了封装和统一处理。
  7. 获取所有字段:不论继承层次深浅,都能获取到类的所有字段。

通过使用 ReflectionUtils,开发者可以减少手动编写反射代码的复杂度,降低潜在的错误风险,并使代码更具可读性和可维护性。在 Spring 框架中,这个工具类广泛应用在依赖注入、AOP代理、事件处理等方面。

使用场景就是表里面codevalue字段存放的是属性名称、属性值,现在就是把表数据和具体实体做个映射,给实体属性set值(惭愧,作为一个老程序员,第一次用这个工具类,特此记录一下

  • 设置属性值
    在这里插入图片描述
  • 具体方法
    public static void setProperty(Object target, String propertyName, Object value) {
            Field field = ReflectionUtils.findField(target.getClass(), propertyName);
            if (field != null) {
                ReflectionUtils.makeAccessible(field);
                try {
                    field.set(target, value);
                } catch (IllegalAccessException e) {
                    throw new RuntimeException("无法设置属性值", e);
                }
            } else {
                throw new IllegalArgumentException("找不到名为 " + propertyName + " 的属性");
            }
        }
    

比对相同实体的属性值是否相同

在这里插入图片描述

源码

import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;

/**
 * 比较实体,返回相同和不同的属性
 */
public class EntityCompareTest {
    private static Map<String, Object> differences = new HashMap<>(); // 用于存储不同属性及其新旧值
    private static Map<String, Object> unchanges = new HashMap<>(); // 用于存储值未发生改变的属性及值

    public static void main(String[] args) throws IllegalAccessException {
        DemoEntity leftEntity = new DemoEntity();
        leftEntity.setAge(32);
        leftEntity.setId(20240229L);
        leftEntity.setName("Tom");
        leftEntity.setSex(1);

        DemoEntity rightEntity = new DemoEntity();
        rightEntity.setAge(31);
        rightEntity.setId(20240229L);
        rightEntity.setName("July");
        rightEntity.setSex(2);

        Class<?> leftClass = leftEntity.getClass();
        Class<?> rightClass = rightEntity.getClass();

        if (!leftClass.equals(rightClass)) {
            throw new IllegalArgumentException("Entities must be of the same type");
        }

        Field[] fields = leftClass.getDeclaredFields();


        for (Field field : fields) {
            field.setAccessible(true);
            Object leftValue = field.get(leftEntity);
            Object rightValue = field.get(rightEntity);

            if (leftValue == null && rightValue != null) {
                differences.put(String.valueOf(field), new ComPareValue<>(leftValue, rightValue));
            } else if (leftValue != null && !leftValue.equals(rightValue)) {
                differences.put(field.getName(), new ComPareValue<>(leftValue, rightValue));
            } else {
                unchanges.put(field.getName(), leftValue);
            }
        }

        System.out.println("变更信息:" + differences.toString());
        System.out.println("未变更信息:" + unchanges.toString());
    }
}

import lombok.Data;

/**
 * demo实体类
 */
@Data
public class DemoEntity {
    private Long id;
    private String name;
    private Integer sex;
    private Integer age;
}

import lombok.Data;

/**
 * 存储差异值.
 *
 * @param <L>
 * @param <R>
 */
@Data
public class ComPareValue<L, R> {
    private L left;
    private R right;

    public ComPareValue(L left, R right) {
        this.left = left;
        this.right = right;
    }

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1479204.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计网 - 子网掩码的改变与内网之间通信的关系

文章目录 面试题A与B通信的全过程 面试题 想要弄清楚这个问题&#xff0c;必须了解数据包在网络上是如何传输的&#xff1a; 首先B想向A发送数据包&#xff0c;会根据双方IP来判断是否在同一子网&#xff1a; A的IP地址属于192.168.26.0/24这个网段。B的IP地址属于192.168.26.…

微信小程序构建npm失败解决方式

安装完所需要的依赖后&#xff0c;在微信开发者工具菜单栏中选择&#xff1a;“工具” -> “构建 npm”&#xff0c;但是失败。 解决方法&#xff1a;修改 project.config.json 开发者工具创建的项目&#xff0c;miniprogramRoot 默认为 miniprogram&#xff0c;package.js…

LVGL的基础知识总结

详细的内容可以参考正点原子的LVGL开发指南&#xff0c;本文只记录重点内容 正点原子后续的例程都是基于操作系统来写的 面向对象 在 LVGL 中&#xff0c;用户界面的基本构建成分是对象&#xff0c;也称为小部件&#xff0c;例如&#xff1a;按钮、标签、图片、列表、图表、文…

【Python_Zebra斑马打印机编程学习笔记(三)】解决ZPL指令无法显示中文的问题

解决ZPL指令无法显示中文的问题 解决ZPL指令无法显示中文的问题前言一、问题描述二、字符集、码表文件、字库文件1、字符集2、码表文件3、字库文件 三、两种设置中文字体的方式1、通过设置字符集、码表文件、字库文件改变默认字体2、通过^CF指令设置标准字体名称改变默认字体 解…

DOM 创建节点、添加节点和删除节点

创建元素节点 document.createElement(‘标签名’) 创建文本节点document.createTextNode ( 内容 ) 根据传入的标签名创建出一个空的元素对象创建出来的默认不显示&#xff0c;要成为别人的子元素才能显示&#xff0c;所以要结合appendChild使用 添加节点&#xff08;后面&am…

【AI Agent系列】【MetaGPT多智能体学习】4. 基于MetaGPT的Team组件开发你的第一个智能体团队

本系列文章跟随《MetaGPT多智能体课程》&#xff08;https://github.com/datawhalechina/hugging-multi-agent&#xff09;&#xff0c;深入理解并实践多智能体系统的开发。 本文为该课程的第四章&#xff08;多智能体开发&#xff09;的第二篇笔记。主要是对MetaGPT中Team组件…

每日一练:LeeCode-701、二叉搜索树中的插入操作【二叉搜索树+DFS+全搜】

本文是力扣 每日一练&#xff1a;LeeCode-701、二叉搜索树中的插入操作【二叉搜索树DFS全搜】学习与理解过程&#xff0c;本文仅做学习之用&#xff0c;对本题感兴趣的小伙伴可以出门左拐LeeCode。 给定二叉搜索树&#xff08;BST&#xff09;的根节点 root 和要插入树中的值 …

机器学习图像识别如何处理标签以外的图像?

机器学习图像识别技术是一种基于人工智能的图像处理方法&#xff0c;它通过训练大量的图像数据集来让计算机学习如何识别和分类图像。在图像识别任务中&#xff0c;我们通常需要对图像进行标注和分类&#xff0c;以便让计算机能够从中学习。但是&#xff0c;有时候我们可能会遇…

减少页面加载时间:提升用户体验的关键

✨✨ 祝屏幕前的您天天开心&#xff0c;每天都有好运相伴。我们一起加油&#xff01;✨✨ &#x1f388;&#x1f388;作者主页&#xff1a; 喔的嘛呀&#x1f388;&#x1f388; 目录 引言 一、为什么页面加载时间重要&#xff1f; 二、如何减少页面加载时间&#xff1f; …

集中和离散

数据分类&#xff1a;定性(分类&#xff0c;顺序)&#xff0c;定量(数值) 分类&#xff1a;男&#xff0c;女 顺序&#xff1a;高&#xff0c;中&#xff0c;低 数值&#xff1a;可计算的数字 数据等级&#xff1a;分类<顺序<数值。高级数据可以用低级数据&#xff0c…

day09_面向对象_构造方法_封装

今日内容 零、 复习昨日 一、构造方法 二、重载 三、封装 零、 复习昨日 1 类和对象是什么关系? 类是模板(原材料)对象是具体实例(成品)类创建出对象 2 类中有什么?(类的成员) 成员属性(成员变量), 成员方法 3 创建对象的语法? 类名 对象名 new 类名(); 4 调用对象属性,方法…

音频筑基:CD还是HiRes?高清音频分类一文说透

音频筑基&#xff1a;CD还是HiRes&#xff1f;高清音频分类一文说透 前言音乐品质分类相关资料 前言 音频信号中&#xff0c;经常遇到高清音乐、无损音质、CD、HiRes等说法&#xff0c;本文主要在纯数字信号级别&#xff0c;从音源分类和编码质量两个维度&#xff0c;做一个分析…

[AutoSar]BSW_Com06 CAN报文应用层到Can总线的函数调用

目录 关键词平台说明一、背景二、PDU转换三、函数调用 关键词 嵌入式、C语言、autosar、OS、BSW 平台说明 项目ValueOSautosar OSautosar厂商vector &#xff0c;芯片厂商TI 英飞凌编程语言C&#xff0c;C编译器HighTec (GCC)autosar版本4.3.X >>>>>回到总目…

《商用密码应用安全性评估管理办法》解读

根据《中华人民共和国密码法》&#xff08;以下简称《密码法》&#xff09;、《商用密码管理条例》&#xff08;以下简称《条例》&#xff09;等法律法规&#xff0c;国家密码管理局研究制定了《商用密码应用安全性评估管理办法》&#xff08;国家密码管理局令第3号&#xff09…

Vue页面更新后刷新页面不会渲染解决

小编今天犯了个很低级的错误&#xff0c;导致VUE页面刷新样式不会更新的问题&#xff01; 解决方法&#xff1a;查看你的路由路径大小写是否正确&#xff01;小编是犯了这种错误&#xff0c;特此分享下&#xff01;

Vite 构建的 Vue3 项目如何整合 Monaco Editor 代码编辑器

目录 &#x1f981; 一. 前言&#x1f981; 二. 探索过程2.1 安装2.2 配置 Monaco Editor2.3 编写 Monaco Editor 代码编辑器2.3.1 创建 Coding Editor 组件2.3.2 父组件使用 CodingEditor 组件 2.4 效果展示 三. 总结 &#x1f981; 一. 前言 各位好&#xff01;我是&#x1…

Unity 预制体与变体

预制体作用&#xff1a; 更改预制体&#xff0c;则更改全部的以预制体复制出的模型。 生成预制体&#xff1a; 当你建立好了一个模型&#xff0c;从层级拖动到项目中即可生成预制体。 预制体复制模型&#xff1a; 将项目中的预制体拖动到层级中即可复制。或者选择物体复制粘贴。…

2024年2月总结及随笔之平平安安过大年

1. 回头看 日更坚持了425天。 读《千脑智能》开更并更新完成 读《十堂极简人工智能课》开更并更新完成 读《人工不智能&#xff1a;计算机如何误解世界》开更并持续更新中 2023年至2024年2月底累计码字898882字&#xff0c;累计日均码字2115字。 2024年2月码字84475字&am…

【机器学习:Recommendation System】推荐系统

推荐系统&#xff08;或推荐系统&#xff09;是一类机器学习&#xff0c;它使用数据来帮助预测、缩小范围并在呈指数级增长的选项中找到人们正在寻找的内容。 【机器学习&#xff1a;Recommendation System】推荐系统 什么是推荐系统&#xff1f;用例和应用电子商务与零售&…

基于springboot+vue的常规应急物资管理系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…