Artikel ini memperkenalkan berkat Lombok kode Springboot yang elegan, dan membagikannya kepada Anda, sebagai berikut:
Ringkasan
Lombok membantu menyederhanakan menghilangkan beberapa kode Java yang harus dimiliki tetapi tampaknya membengkak dengan memberikan anotasi sintaksis sederhana. Biasanya, penyederhanaan objek POJO (seperti secara otomatis menghasilkan setter dan getters untuk kita, dll.), Dengan dukungan Lombok, pengembang dapat menghindari banyak operasi yang berulang dan membengkak, sangat meningkatkan rasio kode Java yang sangat meningkatkan sinyal-ke-noise, jadi kita harus mencoba dan menerapkannya!
Konfigurasi pada ide intellij
Metode 1: Mengkonfigurasi secara langsung di antarmuka ide
Pertama masukkan antarmuka plugin:
Kemudian cari dan instal plugin Lombok:
Akhirnya, jangan lupa untuk mengaktifkan opsi Aktifkan prosesor anotasi:
Setelah instalasi di atas selesai, ide perlu dimulai kembali agar berlaku!
Metode 2: Unduh instalasi plug-in lombok secara manual
Terkadang karena alasan jaringan, metode di atas gagal menginstal, sehingga Anda hanya dapat mengunduh dan menginstalnya secara manual.
Unduh plugin Lombok:
https://github.com/mpplushnikov/lombok-intellij-plugin/releases
Plugin -> Instal Plugin Dari Disk ... Pilih Instalasi Paket Zip yang Diunduh
Restart ide saja
Setelah pengaturan dalam IDE selesai, Anda perlu menambahkan ketergantungan Lombok berikut di pom.xml untuk menggunakannya
<dependency> <GroupId> org.projectLombok </groupId> <ArTifactId> lombok </artifactid> <version> 1.16.16 </version> </dependency>
Catatan Utama Lombok
@Getter and @Setter / secara otomatis menyediakan set dan mendapatkan metode untuk properti@ToString / Fungsi anotasi ini adalah untuk secara otomatis menghasilkan metode tostring () untuk kelas@EqualsAndHashCode / secara otomatis menghasilkan kode hashcode dan sama dengan implementasi untuk bidang objek@AllArgsConstructor, @RequiredArgsConstructor and @NoArgsConstructor / sesuai namanya, secara otomatis menghasilkan konstruktor dengan parameter yang sesuai untuk kelas@Log, @Log4j, @Log4j2, @Slf4j, @XSlf4j, @CommonsLog, @JBossLog / secara otomatis menambahkan dukungan log yang sesuai ke kelas@Data / secara otomatis menambahkan @toString, @equalsandHashCode, @getter, add @setter, dan @requiredArgsconstructor ke bidang non-final, yang pada dasarnya setara dengan efek komprehensif beberapa anotasi.@NonNull / secara otomatis membantu kita menghindari pointer nol. Anotasi yang bertindak pada parameter metode digunakan untuk secara otomatis menghasilkan pemeriksaan parameter nol@Cleanup / secara otomatis memanggil metode tutup () untuk kami. Itu bertindak pada variabel lokal. Ketika ruang lingkup berakhir, metode tutup akan secara otomatis dipanggil untuk melepaskan sumber daya. Berikut ini adalah pertarungan kode praktis dengan anotasi @Data dan @Log yang paling sering digunakan di Lombok!
@Data Anotasi Penggunaan
Penjelasan situs web resmi tentang anotasi @Data adalah sebagai berikut:
All Together Now: Sebuah pintasan untuk @ToString, @EqualSandHashCode, @getter di semua bidang, @setter di semua bidang non-final, dan @requiredArgsconstructor!
Tidak sulit untuk dipahami, ini dapat dianggap sebagai integrasi beberapa anotasi Lombok, sehingga sangat nyaman untuk digunakan!
Pertama, buat Pojo Entity UserLombok. Metode penulisan umum adalah sebagai berikut:
Public Class UserLombok {Private Final String Name; usia int pribadi; skor ganda pribadi; tag string pribadi []; UserLombok publik (nama string) {this.name = name; } public string getName () {return this.name; } membatalkan setage (int usia) {this.age = usia; } public int getage () {return this.age; } public void setScore (skor ganda) {this.score = skor; } public double getScore () {return this.score; } public string [] getTags () {return this.tags; } public void settags (string [] tag) {this.tags = tag; } @Override Public String ToString () {return "DataExample (" + this.getName () + "," + this.getage () + "," + this.getScore () + "," + arrays.deeptoString (this.gettags ()) + ")"; } boolean canequal (objek lain) yang dilindungi {return instance lain dari dataExample; } @Override public boolean sama (objek o) {if (o == this) return true; if (! (o instance dari DataExample)) Return False; DataExample Other = (DataExample) O; if (! o.canequal ((objek) ini)) mengembalikan false; if (this.getName () == null? Other.getName ()! = null :! this.getName (). Equals (Other.getName ())) Return false; if (this.getage ()! = Other.getage ()) return false; if (double.compare (this.getScore (), Other.getScore ()))! = 0) Return false; if (! arrays.deeepequals (this.gettags (), Other.gettags ())) mengembalikan false; Kembali Benar; } @Override public int hashCode () {final int prime = 59; Hasil int = 1; final long temp1 = double.doubleToLongBits (this.getScore ()); hasil = (hasil*prime) + (this.getName () == null? 43: this.getName (). hashcode ()); hasil = (hasil*prime) + this.getage (); hasil = (hasil*prime) + (int) (temp1 ^ (temp1 >>> 32)); hasil = (hasil*prime) + arrays.deephashcode (this.gettags ()); hasil pengembalian; }}Setelah berkah Lombok, metode penulisan dapat disederhanakan untuk:
@DataPublic UserLombok {private final string name; usia int pribadi; skor ganda pribadi; tag string pribadi [];}Saat digunakan dalam IDEA, anotasi Lombok akan secara otomatis diselesaikan, seperti yang ditunjukkan pada gambar berikut:
Mari Tulis Kode Uji Pojo
public static void main (string [] args) {userlombok userlombok = UserLombok baru ("hansonwang99"); userlombok.setage (18); String [] array = string baru [] {"apple", "juice"}; userlombok.setags (array); userlombok.setscore (99.0); System.out.println (UserLombok); }Dari gambar di bawah ini, kita dapat melihat bahwa ide masih dapat secara otomatis melengkapi kode secara otomatis yang dihasilkan oleh Lombok untuk kita:
Hasil cetak
Karena Lombok secara otomatis menghasilkan metode ToString bagi kami, hasil cetak objek adalah sebagai berikut:
Userlombok (name = hansonwang99, usia = 18, skor = 99.0, tag = [apel, jus])
@Log Annotation Practice
Dalam artikel saya Praktek Kerangka Log Spring Boot, kami menggunakan log4j2 sebagai objek log, yang ditulis sebagai berikut:
@Restcontroller@requestMapping ("/testlogging") kelas publik LoggingTestController {private final Logger Logger = logManager.getLogger (this.getClass ()); @GetMapping ("/hello") Public String Hello () {for (int i = 0; i <10_0000; i ++) {logger.info ("Info Metode Indeks Eksekusi"); Logger.warn ("Warn Metode Indeks Eksekusi"); Logger.Error ("Kesalahan mengeksekusi metode indeks"); } return "Aplikasi Springboot pertama saya"; }}Jika Anda menggunakan Lombok sebagai gantinya, metode penulisan menjadi lebih ringkas. Kami hanya perlu memperkenalkan anotasi @Log yang sesuai untuk menyelesaikan pembuatan objek log:
@RestController@RequestMapping("/testloggingwithlombok")@Log4j2public class LoggingTestControllerLombok { @GetMapping("/hello") public String hello() { for(int i=0;i<10_0000;i++){ log.info("info execute index method"); log.warn ("Warn Metode Indeks Eksekusi"); LOG.Error ("Kesalahan mengeksekusi metode indeks"); } return "Aplikasi Springboot pertama saya"; }}Bagaimana dengan itu, semuanya sangat elegan!
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.