スポンサーリンク

Webアプリケーション開発

SpringBootでLombokを使用する

投稿日:

SpringBootでLombokを使用する準備

build.gradleに下記を追加する。

dependencies {
	compileOnly 'org.projectlombok:lombok'
	annotationProcessor 'org.projectlombok:lombok'
}

configurations {
	compileOnly {
		extendsFrom annotationProcessor
	}
}

SpringBootでLombokを使用してみる

オブジェクト

package com.springhack.okozukaisystem.domain;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.time.LocalDate;

@AllArgsConstructor
@Getter
public class Child {
    private String name;
    private LocalDate birthday;
}

使用例1 @AllArgsConstructorを付与したため、完全コンストラクタを呼べる。

var hiroto = new Child("ひろと", LocalDate.of(2012, 1, 31));
var haruki = new Child("はるき", LocalDate.of(2015, 9, 21));

使用例2 @Getterを付与したため、getNameとgetBirthdayが生成され、Thymeleafで参照できるようになっている。

            <tr th:each="child: ${children}">
                <td th:text="${child.name}"></td>
                <td th:text="${child.birthday}"></td>
                <td>TODO</td>
                <th><button onclick="location.href='/children/edit?id=123'">編集</button><button onclick="location.href='/children/remove?id=123'">削除</button></th>
            </tr>

Lombok使用上の注意

@Dataは極力使わない。
@Setterも極力使わない。

オブジェクトをimmutableに保つには、
・@AllArgsConstructor
・@Getter
を使うのが基本です。

Udemyのハンズオン動画講座でSpringBootのスキルを磨く!

スポンサーリンク

-Webアプリケーション開発

Copyright© 【Spring Hack】 , 2022 All Rights Reserved Powered by AFFINGER5.