Tuesday, April 14, 2020

Java Spring Tool Suit 4 e Lombok eklentisi kurulumu

LOMBOK NEDIR ? 

java projelerinde IDE'ye entegre edilebilen bir anotasyon ile kod üretme (code generation) kütüphanesidir. Örneğin bir model oluşturulduğunda model içinde getter setterlar tanımlanmaya gerek olmadan otomatik olarak bunların tanımlanmasını sağlar. 

Getter Setter nedir? 
Java da tanımlanmış modellerin entitiylerine c# daki gibi direkt erişim söz konusu değildir. Örneğin: c# da user objesi olduğunu varsayarsak. 
Bu objenin içindeki datalara aşağıdaki şeklinde erişebiliriz.
var name = user.name;
var surname =  user.surname;

Bu objenin içindeki dataları aşağıdaki şekilde güncelleyebiliriz.
user.name ="ali";
user.surname ="öz";

Ancak Javada bu kullanım söz konusu değildir. 
Bu kullanım yerine objenin datasını çekmek için getter, objenin datasını update etmek için setter kullanılır. 
Örneğin: Java da user objesi olduğunu varsayarsak. 
Bu objenin içindeki datalara aşağıdaki şeklinde erişebiliriz.
String name = user.getName();
String surname = user.getSurname();

Bu objenin içindeki dataları aşağıdaki şekilde güncelleyebiliriz.
user.setName("ali");
user.setSurname("öz");

Bu kullanılan set ve get lere genel isim olarak setter getter denilir. Lombok olmasaydı aşağıdaki gibi bunun Model içinde tanımlanması gerekirdi .

Lombok eklentisiz oluşturulan getter ve setter kullanılan Java modeli

@Entity
@Table(name="user")
public class user 
{
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)  
@Column(name="id")
private Long id;
@Column(name="name")
private String name;
@Column(name="surname")
private Long surname;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Long getSurname() {
return surname;
}
public void setSurname(Long surname) {
this.surname = surname;


}

Lombok eklentili oluşturulan Java modeli

import lombok.Data; 

@Entity
@Table(name="user")
@Data
public class user 
{
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)  
@Column(name="id")
private Long id;
@Column(name="name")
private String name;
@Column(name="surname")
private Long surname;

}

Java Spring Tool Suit 4 e Lombok eklentisi kurulumu
Lombok un ne işe yaradığını kısaca anladığımıza göre gelelim Java Spring Tool Suit 4 e kurulumuna. 
1.Öncelikle açık olan tüm Spring Tool Suit i kapatmamız gerekmektedir.
2.https://projectlombok.org/download adresinden lombok.jar ı bilgisayarınıza indirin.
3.indirdiğiniz jar dosyasını kopyalayıp Spring Tool Suit 4 ün kurulu olduğu klasöre gidip plugins klasörünün içine yapıştırın.
4.cmd yi açıp yapıştırdığınız dizine gidin.
5.java -jar lombok.jar bu komut satırını tetikleyerek indirdiğimiz jar dosyasının çalışmasını sağlayalım.
6. Bir ekran açılacaktır ve sistemde kurulu ide taraması başlayacaktır. Biraz bekleyip sistemdeki bulunan tüm idelerin içinden Spring Tool Suit 4 i seçerek Install/Update butonuna basın. 
7.Sonra Quick install butonuna basarak kurulumu tamamlayın.
8.Lombok kurulumu tamamlanmıştır. Spring Tool Suit i açabilrsiniz.