<commit_before>---
layout: post
title: Lombok
categories: [lombok]
tags: [lombok, spring]
description: Lombok 설치과 설명
---

# Lombok
Lombok은 간단히 말하면 @Getter, @Setter 같은 annotation 기반의 기계적인 반복 코드를 줄여 줄수 있는 라이브러리입니다.

많이 사용하는 Annotaions

**@Getter / @Setter**
* Getter와 Setter 함수를 생성합니다.
* 접근제어 : AccessLevel 지정을 통해서 접근레벨을 제한할 수 있습니다. (PUBLIC, PROTECTED, PACKAGE, PRIVATE)
* @Getter(AccessLevel.PACKAGE), @Setter(AccessLevel.PRIVATE) getter/setter 관례에 따라서 get 필드명, set 필드명 메소드가 생성됨

**@EqualsAndHashCode**
* 코드에서 객체의 비교 등의 용도로 사용되는 equals(), hashCode() 메소드의 코드를 생성합니다.
* 특정 필드를 제외할 수가 있습니다. @EqualsAndHashCode(exclude={“field1”, “field2”})

**@ToString**<commit_msg>2016-04-01 post categories modify<commit_after>---
layout: post
title: Lombok
categories: [spring]
tags: [lombok, spring]
description: Lombok 설치과 설명
---

# Lombok
Lombok은 간단히 말하면 @Getter, @Setter 같은 annotation 기반의 기계적인 반복 코드를 줄여 줄수 있는 라이브러리입니다.

많이 사용하는 Annotaions

**@Getter / @Setter**
* Getter와 Setter 함수를 생성합니다.
* 접근제어 : AccessLevel 지정을 통해서 접근레벨을 제한할 수 있습니다. (PUBLIC, PROTECTED, PACKAGE, PRIVATE)
* @Getter(AccessLevel.PACKAGE), @Setter(AccessLevel.PRIVATE) getter/setter 관례에 따라서 get 필드명, set 필드명 메소드가 생성됨

**@EqualsAndHashCode**
* 코드에서 객체의 비교 등의 용도로 사용되는 equals(), hashCode() 메소드의 코드를 생성합니다.
* 특정 필드를 제외할 수가 있습니다. @EqualsAndHashCode(exclude={“field1”, “field2”})

**@ToString**
{'fraction_non_alphanumeric': 0.125, 'fraction_numerical': 0.008928571428571428, 'mean_word_length': 4.951327433628318, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '939069', 'n_tokens_mistral': 755, 'n_tokens_neox': 919, 'n_words': 166}