Apa itu Lombok? Ini adalah metode yang dapat membantu kita menghilangkan kode yang harus ditulis tetapi diulang, seperti setter, getters, konstruktor, dll.
Pertama, mari kita bicara sebentar tentang pemasangan Lombok untuk ide. Ada dua cara untuk:
1. Unduhnya langsung dari http://plugins.jetbrains.com/, lalu letakkan di plugin di bawah file instalasi ide, dan kemudian mulai ulang ide
2. Di bawah Pengaturan (Windows) atau Preferensi (Mac) Ide, Temukan menu plugin dan klik Relusur repositori seperti yang ditunjukkan pada gambar
Kemudian cari Lombok, klik hak untuk mengunduh, mengunduh, dan memulai kembali seperti yang ditunjukkan pada gambar
Buat proyek baru, tambahkan dependensi Lombok ke file POM, dan POM lengkap adalah sebagai berikut:
<? Xml Version = "1.0" encoding = "UTF-8"?> <Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema xsi: schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <ModelVersion> 4.0.0 </ModelVersion> <groupid> com.dalaoy <artifactId>springboot_lombok</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>springboot_lombok</name> <description>springboot_lombok</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.9.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <Project.Reporting.OutputEncoding> UTF-8 </project.reporting.outputEncoding> <Java.Version> 1.8 </java.version> </Properties> </Dependencies> <Ruppendency> <GroupId org.springframework.BOOT </groupid> <Artifactid> <dependency> <GroupId> org.springframework.boot </groupid> <ArTifactId> Spring-boot-devtools </t Artifactid> <scope> runtime </seupope> </dependency> <trotifacid> <Roupid> org.springframework.boot </groupid> <ArtifacTid> <RoupDid> <scope> tes </seupop> </dependency> <dependency> <GroupId> org.projectlombok </groupid> <ArTifactId> lombok </artifactid> <version> 1.16.20 </version> </dependency> </dependency> <build> <lugin> <lugin> <lugin> <groupding> <grouping> <groupingfr. <ArTifactId> spring-boot-maven-plugin </artifactid> </lugin> </lugin> </build> </poject>
Buat kelas pengguna baru, ini adalah kelas yang menggunakan Lombok, kodenya adalah sebagai berikut:
Paket com.dalaoyang.entity; import lombok.allargsconstructor; import lombok.data; import lombok.noargsconstructor;/** * @author dalaoyang * @description * @proail springboOt_learn * @package com.dalaoyang * @email yoJoJoT_Learn * @package com.dalaoyang * @email yoJoJOt_Learn * @package com.dalaoyang * @email yontboot_learn * */@Data@allArgsconstructor@noargsconstructorpublic kelas pengguna {private integer ID; nama string pribadi; kata sandi string pribadi;}Buat kelas Usernolombok baru, sama seperti sebelumnya, untuk membandingkan manfaat menggunakan Lombok, kodenya adalah sebagai berikut:
Paket com.dalaoyang.entity; import java.util.objects;/** * @author dalaoyang * @description * @project springboot_learn * @package com.dalaoYang. nama string pribadi; kata sandi string pribadi; Integer publik getId () {return id; } public void setid (integer id) {this.id = id; } public string getName () {return name; } public void setName (name string) {this.name = name; } public string getPassword () {return kata sandi; } public void setPassword (kata sandi string) {this.password = kata sandi; } Usernolombok publik (id integer, nama string, kata sandi string) {this.id = id; this.name = name; this.password = kata sandi; } Usernolombok publik () {} @Override public boolean sama (objek o) {if (this == o) return true; if (o == null || getClass ()! = o.getClass ()) mengembalikan false; Usernolombok itu = (Usernolombok) o; return objects.equals (id, that.id) && objects.equals (name, that.name) && objects.equals (kata sandi, itu.password); } @Override public int hashCode () {return objects.hash (id, nama, kata sandi); } @Override public string toString () {return "usernolombok {" + "id =" + id + ", name = '" + name +'/'' + ", kata sandi = '" + kata sandi +'/'' + '}'; }}Kemudian buat tes UserController baru, kodenya adalah sebagai berikut:
Paket com.dalaoyang.controller; import com.dalaoyang.entity.user; impor org.springframework.web.bind.annotation.getmapping; import org.springframework.web.bind.annotation.restController;/** * @Author @AuthoMor @restcrecToller;/** * @Author @AuthoRiage @Authoage @Autor @AutHoUrt.RestCRITER; com.dalaoyang.controller * @email [email protected] * @date 2018/5/7 */ @restcontrollerpublic kelas UserController {@getMapping ("/testuser") pengguna publik getUser () {user user = User baru (); user.setid (1); user.setname ("Dalaoyang"); user.setPassword ("123"); System.out.println (user.toString ()); Pengguna Kembali; }}
Kunjungi http: // localhost: 8080/testuser seperti yang ditunjukkan pada gambar
Pengantar Anotasi Lombok:
@Data Tag, Hasilkan Getter/Setter ToString () dan metode lainnya
@Nonnull: membuat Anda tidak khawatir dan jatuh cinta dengan nullpointerexception
@Cleanup: Manajemen Sumber Daya Otomatis: Tidak perlu lagi menambahkan sumber daya di akhirnya
@Setter/@getter: secara otomatis menghasilkan set dan mendapatkan metode
@ToString: secara otomatis menghasilkan metode tostring
@EqualSandHashCode: Hasilkan implementasi kode hash dan sama dari bidang suatu objek
@NoArgsconstructor/@wajib diargsconstructor/@allArgsconstructor
Secara otomatis menghasilkan metode konstruksi
@Data: Secara otomatis menghasilkan metode set/get, metode toString, sama dengan metode, metode kode hash, metode konstruktor tanpa parameter
@Value: Digunakan untuk Anotasi Kelas Akhir
@Builder: Hasilkan kelas API pembangun kompleks
@Sneakythrows: penanganan pengecualian (gunakan dengan hati -hati)
@Synchronized: Metode Sinkronisasi Konversi Aman
@Getter (malas = true):
@Log: Mendukung berbagai objek Logger, dan gunakan anotasi yang sesuai saat menggunakannya, seperti: @log4j
Kode Sumber Unduh: Big Lao Yang Mayun
Alamat Unduh Kode Sumber Lokal: Springboot-lombok_jb51.rar
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.