Lombok คืออะไร? มันเป็นวิธีที่สามารถช่วยเรากำจัดรหัสเหล่านั้นที่ต้องเขียน แต่ทำซ้ำเช่น setters, getters, constructors ฯลฯ
ก่อนอื่นมาพูดคุยสั้น ๆ เกี่ยวกับการติดตั้ง Lombok สำหรับแนวคิด มีสองวิธีในการ:
1. ดาวน์โหลดโดยตรงจาก http://plugins.jetbrains.com/ จากนั้นใส่ไว้ในปลั๊กอินด้านล่างไฟล์การติดตั้งไอเดียแล้วรีสตาร์ทแนวคิด
2. ภายใต้การตั้งค่า (windows) หรือการตั้งค่า (MAC) ของแนวคิดค้นหาเมนูปลั๊กอินและคลิกที่เก็บข้อมูลตามที่แสดงในรูป
จากนั้นค้นหาลอมบอกคลิกที่ด้านขวาเพื่อดาวน์โหลดดาวน์โหลดและรีสตาร์ทตามที่แสดงในรูปภาพ
สร้างโครงการใหม่เพิ่มการพึ่งพา Lombok ในไฟล์ POM และ POM ที่สมบูรณ์มีดังนี้:
<? xml version = "1.0" การเข้ารหัส = "utf-8"?> <project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/ XSI: schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" <ArtIfactId> springboot_lombok </artifactid> <persion> 0.0.1-snapshot </version> <packaging> jar </packaging> <name> springboot_lombok </name> <คำอธิบาย> springboot_lombok </คำอธิบาย> <ArtIfactId> Spring-Boot-Starter-Parent </artifactid> <sersion> 1.5.9.release </เวอร์ชัน> <inelypath/> <!-ผู้ปกครองค้นหาจากที่เก็บ-> </parent> <properties> <project.build.sourceencoding> UTF-8 <Project.Reporting.UutputEncoding> UTF-8 </Project.Reporting.UutputPutenCoding> <Java.Version> 1.8 </Java.Version> </premerties> <การพึ่งพา> <การพึ่งพา </permentency> <predency> <roupId> org.springframework.boot </groupid> <ratifactid> Spring-Boot-Devtools </artifactid> <pope> รันไทม์ </scope> </การพึ่งพา> <Scope> ทดสอบ </cope> </dercendency> <การพึ่งพา> <roupId> org.projectlombok </groupId> <ratifactid> Lombok </artifactid> <erson> 1.16.20 </เวอร์ชัน> </การพึ่งพา> <การพึ่งพา <ArtIfactId> Spring-Boot-Maven-Plugin </artifactid> </plugin> </plugins> </uffer
สร้างคลาสผู้ใช้ใหม่นี่คือคลาสที่ใช้ Lombok รหัสมีดังนี้:
แพ็คเกจ com.dalaoyang.entity; นำเข้า lombok.allargsconstructor; นำเข้า lombok.data; นำเข้า lombok.noargsconstructor;/** * @author dalaoyang * @description * @project springboot_learn * @package com.dalaoyang */@data@allargsconstructor@noargsconstructorpublic ผู้ใช้คลาส {ID จำนวนเต็มส่วนตัว; ชื่อสตริงส่วนตัว; รหัสผ่านสตริงส่วนตัว}สร้างคลาส Usernolombok ใหม่เช่นเดียวกับก่อนหน้านี้เพื่อเปรียบเทียบประโยชน์ของการใช้ Lombok รหัสมีดังนี้:
แพ็คเกจ com.dalaoyang.entity; นำเข้า java.util.Objects;/** * @author dalaoyang * @description * @project springboot_learn * @package com.dalaoyang.entity * @email [email protected] * @date 2018/5/5/5/5/5/5/5/5/5/5/5/5 ชื่อสตริงส่วนตัว; รหัสผ่านสตริงส่วนตัว จำนวนเต็มสาธารณะ getId () {return id; } โมฆะสาธารณะ setId (ID จำนวนเต็ม) {this.id = id; } สตริงสาธารณะ getName () {ชื่อคืน; } โมฆะสาธารณะ setName (ชื่อสตริง) {this.name = name; } สตริงสาธารณะ getPassword () {ส่งคืนรหัสผ่าน; } โมฆะสาธารณะ setPassword (รหัสผ่านสตริง) {this.password = รหัสผ่าน; } USERNOLOMBOK สาธารณะ (ID จำนวนเต็ม, ชื่อสตริง, รหัสผ่านสตริง) {this.id = id; this.name = ชื่อ; this.password = รหัสผ่าน; } usernolombok สาธารณะ () {} @Override บูลีนสาธารณะเท่ากับ (Object O) {ถ้า (นี่ == o) ส่งคืนจริง; if (o == null || getClass ()! = o.getClass ()) ส่งคืน false; USERNOLOMBOK ที่ = (USERNOLOMBOK) o; return objects.equals (id, that.id) && objects.equals (name, that.name) && objects.equals (รหัสผ่าน, passward); } @Override public int hashCode () {return objects.hash (id, ชื่อ, รหัสผ่าน); } @Override สตริงสาธารณะ toString () {return "userNolombok {" + "id =" + id + ", name = '" + ชื่อ +'/'' + ", รหัสผ่าน = '" รหัสผ่าน +'/'' + '}'; -
จากนั้นสร้างการทดสอบ userController ใหม่รหัสมีดังนี้:
แพ็คเกจ com.dalaoyang.controller; นำเข้า com.dalaoyang.entity.user; นำเข้า org.springframework.web.bind.annotation.getMapping; นำเข้า org.springframework.web.bind.annotation.restcontroller; @package com.dalaoyang.controller * @email [email protected] * @date 2018/5/7 */ @restcontrollerpublic คลาส usercontroller {@getmapping ("/testuser") ผู้ใช้สาธารณะ user.setId (1); user.setName ("Dalaoyang"); user.setPassword ("123"); System.out.println (user.toString ()); ผู้ใช้ส่งคืน; -
เยี่ยมชม http: // localhost: 8080/testuser ดังแสดงในรูป
บทนำคำอธิบายประกอบของลอมบอก:
@data tag, สร้าง getter/setter toString () และวิธีการอื่น ๆ
@nonnull: ทำให้คุณไม่ต้องกังวลและตกหลุมรักกับ nullpointerexception
@Cleanup: การจัดการทรัพยากรอัตโนมัติ: ไม่จำเป็นต้องเพิ่มทรัพยากรในที่สุดอีกต่อไป
@setter/@getter: สร้างชุดและรับเมธอดโดยอัตโนมัติ
@ToString: สร้างวิธีการ ToString โดยอัตโนมัติ
@EqualSandHashCode: สร้างการใช้งาน HashCode และเท่ากับจากฟิลด์ของวัตถุ
@noargsconstructor/@leadedargsconstructor/@allargsconstructor
สร้างวิธีการก่อสร้างโดยอัตโนมัติ
@Data: สร้างวิธีการตั้งค่า/รับโดยอัตโนมัติวิธีการ toString, วิธีการเท่ากับ, วิธีการแฮชโฟตอน, วิธีตัวสร้างโดยไม่มีพารามิเตอร์
@Value: ใช้ในการใส่คำอธิบายประกอบชั้นเรียนสุดท้าย
@builder: สร้างคลาส API Builder ที่ซับซ้อน
@Sneakythrows: การจัดการข้อยกเว้น (ใช้ด้วยความระมัดระวัง)
@Synchronized: วิธีการซิงโครไนซ์การแปลงอย่างปลอดภัย
@getter (lazy = true):
@log: รองรับวัตถุ logger ต่างๆและใช้คำอธิบายประกอบที่สอดคล้องกันเมื่อใช้งานเช่น: @log4j
ดาวน์โหลดซอร์สโค้ด: Big Lao Yang Mayun
ซอร์สโค้ดท้องถิ่นดาวน์โหลดที่อยู่: Springboot-lombok_jb51.rar
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น