빠에야는 개발중

롬복(lombok) 본문

공부/스프링

롬복(lombok)

빠에야좋아 2018. 2. 26. 04:00

롬복은 스프링에서 사용되는 라이브러리로, 어노테이션을 기반으로 반복적이고 따분한 작업들을 대폭 줄여주어 편하게 개발할 수 있게 도와준다. 대표적으로 Getter와 Setter 등이 있다.


한번 사용해보자. maven dependency를 설정해주는 것 만으로도 적용할 수 있다.

1
2
3
4
5
6
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.8</version>
    <scope>provided</scope>
</dependency>
cs


이제 적용된 코드를 살펴보자. 롬복을 적용하기 전에는 아래와 같이 길던 코드가..

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
package com.springbook.biz.board;
 
import java.util.Date;
 
import org.springframework.web.multipart.MultipartFile;
 
public class BoardVO {
 
    private int seq;
    private String title;
    private String writer;
    private String content;
    private Date regDate = new Date();
    private int cnt;
    private String searchCondition;
    private String searchKeyword;
    private MultipartFile uploadFile;
 
    public int getSeq() {
        return seq;
    }
 
    public void setSeq(int seq) {
        this.seq = seq;
    }
 
    public String getTitle() {
        return title;
    }
 
    public void setTitle(String title) {
        this.title = title;
    }
 
    public String getWriter() {
        return writer;
    }
 
    public void setWriter(String writer) {
        this.writer = writer;
    }
 
    public String getContent() {
        return content;
    }
 
    public void setContent(String content) {
        this.content = content;
    }
 
    public Date getRegDate() {
        return regDate;
    }
 
    public void setRegDate(Date regDate) {
        this.regDate = regDate;
    }
 
    public int getCnt() {
        return cnt;
    }
 
    public void setCnt(int cnt) {
        this.cnt = cnt;
    }
 
    public String getSearchCondition() {
        return searchCondition;
    }
 
    public void setSearchCondition(String searchCondition) {
        this.searchCondition = searchCondition;
    }
 
    public String getSearchKeyword() {
        return searchKeyword;
    }
 
    public void setSearchKeyword(String searchKeyword) {
        this.searchKeyword = searchKeyword;
    }
 
    public MultipartFile getUploadFile() {
        return uploadFile;
    }
 
    public void setUploadFile(MultipartFile multipartFile) {
        this.uploadFile = multipartFile;
    }
 
    @Override
    public String toString() {
        return "BoardVO [seq=" + seq + ", title=" + title + ", writer=" + writer + ", content=" + content + ", regDate="
                + regDate + ", cnt=" + cnt + "]";
    }
}
 
cs


롬복을 적용하고 나면 이렇게 짧아진다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package com.springbook.biz.board;
 
import java.util.Date;
 
import org.springframework.web.multipart.MultipartFile;
 
@Data
@Getter @Setter
@ToString
public class BoardVO {
 
    private int seq;
    private String title;
    private String writer;
    private String content;
    private Date regDate = new Date();
    private int cnt;
    private String searchCondition;
    private String searchKeyword;
    private MultipartFile uploadFile;
 
}
 
cs

(@Data 어노테이션 만으로도 getter, setter, toString이 만들어진다.)


지금은 습관적으로 모두 직접 코딩해주고 있지만 나중에 리팩토링을 진행할 때 사용해보면 좋을 것 같다.

'공부 > 스프링' 카테고리의 다른 글

@Transactinal  (0) 2020.07.23
Controller의 String 리턴  (0) 2018.02.05
스프링 퀵 스타트 : chap 5-2  (0) 2018.02.05
스프링 퀵 스타트 : chap 5-1  (0) 2018.02.04
스프링 퀵 스타트 : chap 4-2  (1) 2018.02.01
Comments