流水賬-20240229

目錄

  • 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.pswp.cn/news/710743.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/710743.shtml
英文地址,請注明出處:http://en.pswp.cn/news/710743.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

AI:139-基于深度學習的語音指令識別與執行

??點擊這里跳轉到本專欄,可查閱專欄頂置最新的指南寶典~ ?????? 你的技術旅程將在這里啟航! 從基礎到實踐,深入學習。無論你是初學者還是經驗豐富的老手,對于本專欄案例和項目實踐都有參考學習意義。 ??? 每一個案例都附帶關鍵代碼,詳細講解供大家學習,希望…

js實現文件下載,并傳給后端

在JavaScript中&#xff0c;可以通過創建一個鏈接并設置其href屬性為文件的URL&#xff0c;然后使用download屬性指定文件的名稱來實現文件下載。以下是一個簡單的示例代碼&#xff1a; function downloadFile(url, filename) {const link document.createElement(a);link.hr…

Vue3自定義文件列表頁面(含上傳、搜索、復制鏈接)

文章目錄 一、代碼展示二、代碼解讀三、結果展示 一、代碼展示 <template><div class"container"><h1>文件列表</h1><div class"header-actions"><a-input placeholder"輸入關鍵詞搜索" v-model:value"…

字符串函數strchr()詳解

一、strchr()函數的作用 字符串函數 strchr() 是 C 語言的一個標準庫函數&#xff0c;它的作用是在一個字符串中查找給定字符的第一個匹配之處&#xff0c;并返回指向該字符的指針。如果沒有找到該字符&#xff0c;則返回 NULL。1 二、strchr()函數的原型和參數 strchr()函數…

【筆記】:更方便的將一個List中的數據傳入另一個List中,避免多重循環

這里是 simpleInfoList 集合&#xff0c;記為集合A&#xff08;傳值對象&#xff09; List<CourseSimpleInfoDTO> simpleInfoList courseClient.getSimpleInfoList(courseIds);if(simpleInfoListnull){throw new BizIllegalException("當前課程不存在!");}這…

【Spring連載】使用Spring Data----對象映射基礎Object Mapping Fundamentals

【Spring連載】使用Spring Data----對象映射基礎Object Mapping Fundamentals 一、對象創建1.1 對象創建內部機制Object creation internals 二、屬性填充Property population2.1 屬性填充內部機制Property population internals 三、一般建議3.1 覆蓋屬性 四、Kotlin支持4.1 K…

libigl 網格中點細分(網格上采樣)

文章目錄 一、簡介二、實現代碼三、實現效果參考資料一、簡介 在網格細分中,我們可以將每個三角形分成若干個更小的三角形。其中最簡單的情況就是通過計算每個三角形每條邊的中點,這樣就可以將三角形分成四個更小的三角形。不過該方法并不會使得網格的表面和面積發生變化,而…

Python:練習:編寫一個程序,寫入一個美金數量,然后顯示出如何用最少的20美元、10美元、5美元和1美元來付款

案例&#xff1a; python編寫一個程序&#xff0c;寫入一個美金數量&#xff0c;然后顯示出如何用最少的20美元、10美元、5美元和1美元來付款&#xff1a; Enter a dollar amout:93 $20 bills: 4 $10 bills: 1 $5 bills:0 $1 bills:3 思考&#xff1a; 寫入一個美金數量&…

數據分析Pandas專欄---第十一章<Pandas數據聚合與分組(1)>

前言: 數據聚合和分組操作是數據處理過程中不可或缺的一部分。它們允許我們根據特定的條件對數據進行分組&#xff0c;并對每個組進行聚合計算。這對于統計分析、匯總數據以及生成報告和可視化非常有用。無論是市場營銷數據分析、銷售業績評估還是金融數據建模&#xff0c;數據…

【數據分享】2000~2023年MOD15A2H 061 葉面積指數LAI數據集

各位同學們好&#xff0c;今天和大伙兒交流的是2000~2013年MOD15A2H 061 LAI數據集。如果大家有下載處理數據等方面的問題&#xff0c;您可以私信或評論。 Myneni, R., Y. Knyazikhin, T. Park. MODIS/Terra Leaf Area Index/FPAR 8-Day L4 Global 500m SIN Grid V061. 2021, d…

在原有項目進行業務邏輯開發:同一用戶短時間不得提交多次申請,以及更新主表時數據刷新掉了角色權限以及密碼重置的問題,詳細思路及代碼

開發背景&#xff1a; 用戶提交表單后&#xff0c;插入到對應數據庫表的字段中去&#xff0c;因需要保存是哪一個用戶提交的&#xff0c;所以需要拿到主表的user_id&#xff0c;更新功能為記錄提交時間&#xff0c;短時間不得再次提交 在對一個已有角色權限分配&#xff0c;登錄…

【Spring連載】使用Spring Data訪問 MongoDB----對象映射之對象引用

【Spring連載】使用Spring Data訪問 MongoDB----對象映射之對象引用 一、使用DBRefs 一、使用DBRefs

layui中,父頁面與子頁面,函數方法的相互調用、傳參

<%--父頁面--%> <script type"text/javascript">var KaoHaoType 0; // 考號類型 自定義參數1// 選取考號類型function SelectKaoHaoType(callBack) {KaoHaoType 0; // 默認選擇填涂考號layer.open({type: 2, title: 請選擇 考號區類型, ar…

職場中被小人欺負了,應該一笑了之嗎?還是怎么辦?

在職場中遇到不公正的待遇或被欺負&#xff0c;確實是一個讓人困擾的問題。處理這類問題&#xff0c;首先要保持冷靜和理性&#xff0c;避免情緒化的反應&#xff0c;這樣有助于找到最合適的解決方案。以下是一些建議&#xff0c;您可以根據具體情況考慮&#xff1a; 1. **保持…

如何使用 Socket.IO、Angular 和 Node.js 創建實時應用程序

介紹 WebSocket 是一種允許服務器和客戶端之間進行全雙工通信的互聯網協議。該協議超越了典型的 HTTP 請求和響應范式。通過 WebSocket&#xff0c;服務器可以向客戶端發送數據&#xff0c;而無需客戶端發起請求&#xff0c;因此可以實現一些非常有趣的應用程序。 在本教程中…

網絡編程作業day2

1.將TPC和UDP通信模型各敲兩遍 &#xff08;1&#xff09;TPC通信模型&#xff1a; 服務器代碼&#xff1a; #include <myhead.h> #define SERVER_IP "192.168.125.136" #define SERVER_PORT 1314 int main(int argc, const char *argv[]) {//1、創建用于監…

CLion 2023:專注于C和C++編程的智能IDE mac/win版

JetBrains CLion 2023是一款專為C和C開發者設計的集成開發環境&#xff08;IDE&#xff09;&#xff0c;它集成了許多先進的功能&#xff0c;旨在提高開發效率和生產力。 CLion 2023軟件獲取 CLion 2023的智能代碼編輯器提供了豐富的代碼補全和提示功能&#xff0c;使您能夠更…

統計業務流量的毫秒級峰值 - 華為機試真題題解

考試平臺&#xff1a; 時習知 分值&#xff1a; 200分&#xff08;第二題&#xff09; 考試時間&#xff1a; 兩小時&#xff08;共3題&#xff09; 題目描述 業務模塊往外發送報文時&#xff0c;有時會出現網卡隊列滿而丟包問題&#xff0c;但從常規的秒級流量統計結果看&…

Mybatis-Plus介紹

目錄 一、Mybatis-Plus簡介 1.1、介紹 1.2、特性 1.3、架構 1.4、Mybatis-Plus與Mybatis的區別 二、快速入門 2.1、首先創建數據庫mybatis-plus 2.2、創建user表 2.3、插入數據 2.4、創建Spring-Boot項目 2.5、添加依賴 2.6、連接數據庫 一、Mybatis-Plus簡介 1.1、…

代碼隨想錄第46天|139.單詞拆分 多重背包理論基礎 背包總結

文章目錄 單詞拆分思路&#xff1a;代碼 多重背包≈0-1背包題目代碼 背包總結 單詞拆分 3 思路&#xff1a; 代碼 class Solution {public boolean wordBreak(String s, List<String> wordDict) {HashSet<String> set new HashSet<>(wordDict);boolean[]…