Java: วิธีคัดลอกคุณสมบัติจาก One Bean ไปยัง Another

เผยแพร่แล้ว: 2018-06-26

วิธีการคัดลอกคุณสมบัติจากถั่วหนึ่งไปยังอีกถั่วหนึ่ง

นักพัฒนา Java ส่วนใหญ่ใช้ในการสร้างคลาส Java ที่สอดคล้องกับรูปแบบการตั้งชื่อ JavaBeans สำหรับตัวรับและตัวตั้งค่าคุณสมบัติ เป็นเรื่องปกติที่จะเข้าถึงวิธีการเหล่านี้โดยตรง โดยใช้การเรียกใช้ เมธอด getXxx และ setXxx ที่เกี่ยวข้อง

อย่างไรก็ตาม มีบางโอกาสที่จำเป็นต้องมีการเข้าถึงแบบไดนามิกไปยังคุณสมบัติของอ็อบเจ็กต์ Java (โดยที่ไม่รู้คอมไพล์ในของคุณสมบัติ getter และเมธอด setter ที่จะเรียก)

ตัวอย่างกรณีการใช้งาน ได้แก่:

  • การสร้างภาษาสคริปต์ที่โต้ตอบกับโมเดลวัตถุ Java (เช่น Bean Scripting Framework)
  • การสร้างตัวประมวลผลภาษาของเทมเพลตสำหรับการนำเสนอทางเว็บและการใช้งานที่คล้ายกัน (เช่น JSP หรือ Velocity)
  • การสร้างไลบรารีแท็กแบบกำหนดเองสำหรับสภาพแวดล้อม JSP และ XSP (เช่น Apache Taglibs, Struts, Cocoon)
  • การใช้ทรัพยากรการกำหนดค่าตาม XML (เช่น สคริปต์บิลด์ Ant, ตัวให้คำอธิบายการปรับใช้เว็บแอปพลิเคชัน, ไฟล์เซิร์ฟเวอร์ Tomcat's server.xml )

จาการ์ต้า คอมมอนส์ BeanUtils ส์ ไลบรารีมีฟังก์ชันการทำงานที่หลากหลายสำหรับการทำงานกับ JavaBeans BeanUtils เวอร์ชัน 1.8.3 มีการพึ่งพา CommonsLogging library

นอกจากนี้ ในบทช่วยสอนนี้ ฉันได้ใช้ ToStringBuilder ในไลบรารี Commons Lang เพื่อส่งออกคุณสมบัติของ JavaBeans ในตัวอย่างนี้

ต้องอ่านอีก:

  • วิธีสร้าง Java Thread Dump โดยทางโปรแกรม
  • วิธีการแทนที่เท่ากับ () และแฮชโค้ด () วิธีการใน Java

นี่เป็นตัวอย่าง Java อย่างง่ายที่สาธิตวิธีการคัดลอกคุณสมบัติจาก One Bean ไปยังอีกอันหนึ่ง

CrunchifyBeanCopyExample.java

CrunchifyBeanCopyFrom.java

CrunchifyBeanCopyTo.java

เอาท์พุท:

นี่คือการพึ่งพา maven:

การพึ่งพา Apache Common Beanutils Maven

Apache Commons Logging Maven ขึ้นต่อกัน