본문 바로가기
Java/└ Lombok

Lombok) 다운로드 받는 방법, 사용 방법

by 박채니 2022. 8. 8.

안녕하세요, 코린이의 코딩 학습기 채니 입니다.

 

개인 포스팅용으로 내용에 오류 및 잘못된 정보가 있을 수 있습니다.


maven에서 lombok 다운받기

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.24</version>
    <scope>provided</scope>
</dependency>

 

cmd창 → java -jar lombok-1.18.24.jar

Specify location 으로 실행 파일을 찾아준 후 (Lombok이 자동으로 찾아주긴 하지만 경로 다를 때도 있음), Install/Update 버튼을 눌러줍니다.

 

Quit Installer를 눌러준 후 이클립스를 다시 껐다 켜줍니다.

 


Lombok 사용

 

Getter

Setter

NoArgsConstructor (기본생성자)

AllArgsConstructor (파라미터 생성자)

ToString

@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@ToString
public class Student {
	private int no;
	private String name;
	private String tel;
	private LocalDateTime createdAt; // mybatis가 변환작업을 자동으로 잘해주기 때문에 java.sql.Date 대신 java.time.~ 이용!
	private LocalDateTime updatedAt;
	private LocalDateTime deletedAt;
}

.class에서 변환할 때 (컴파일 시) 생성해줍니다.

 

public class StudentEnrollController extends AbstractController {
	static final Logger log = Logger.getLogger(StudentEnrollController.class);
	private StudentService studentService;
	
	public StudentEnrollController (StudentService studentService) {
		this.studentService = studentService;
	}
	
	@Override
	public String doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		return "student/studentEnroll";
	}
	
	@Override
	public String doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		String name = request.getParameter("name");
		String tel = request.getParameter("tel");
		
		Student student = new Student();
		student.setName(name);
		student.setTel(tel);
		log.debug("student = " + student);
		
		int result = studentService.insertStudent(student);
		
		request.getSession().setAttribute("msg", "학생을 성공적으로 등록하였습니다.");
		
		return "redirect:/student/studentEnroll.do";
	}
}

 

Log4j

RequiredArgsConstructor (꼭 필요한 인자만 받는 생성자)

 

@Log4j
@RequiredArgsConstructor // 꼭 필요한 인자만 받는 생성자
public class StudentEnrollController extends AbstractController {
	private final StudentService studentService; // final -> 필수
	
	@Override
	public String doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		return "student/studentEnroll";
	}
	
	@Override
	public String doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		String name = request.getParameter("name");
		String tel = request.getParameter("tel");
		
		Student student = new Student();
		student.setName(name);
		student.setTel(tel);
		log.debug("student = " + student);
		
		int result = studentService.insertStudent(student);
		
		request.getSession().setAttribute("msg", "학생을 성공적으로 등록하였습니다.");
		
		return "redirect:/student/studentEnroll.do";
	}
}