첫 프로젝트 생성 시 Lombok이라는 라이브러리를 주입하였다. 해당 라이브러리의 기능을 확인해보고자 한다. 전체적으로 개발자의 코드 (.java 파일)을 간결하게 만들어주며, 빌드 과정에서 컴파일 파일 (.class)는 기존 코드들이 자동으로 작성된다.
해당 부분들은 코딩 과정에서 템플릿화 될 정도로 반복적인 작업이기 때문에 이런 부분들을 자동으로 빌드 과정에서 자동 작성 해주면서 개발자들이 실제로 작업하는 코드 부분을 간결하게 관리 할 수 있도록 도와주고 있다.
Lombok의 주요 어노테이션
@Getter | private 접근 제어자 변수를 읽는 메소드를 생성해준다. |
@Setter | private 접근 제어자 변수를 수정하는 메소드를 생성해준다. |
@NoArgsConstructor | 기본 생성자를 생성해준다. |
@AllArgsConstructor | 모든 필드를 매개변수로 받는 생성자를 생성해준다. |
@RequiredArgsConstructor | Final로 선언된 필드를 받는 생성자를 생성해준다. |
실제로 Memo.java 파일의 코드는 다음과 같다.
package com.sparta.springprepare;
import lombok.*;
@Getter//getter생성
@Setter//setter생성
@AllArgsConstructor//모든 필드를 가진 생성자 생성
@NoArgsConstructor//기본생성자 생성
@RequiredArgsConstructor
public class Memo {
//private final String username;
private String username;
private String contents;
}
class Main{
public static void main(String[] args) {
Memo memo = new Memo();
memo.setUsername("Fred");
System.out.println(memo.getUsername());
}
}
Java
복사
빌드 과정에서 생성된 Memo.class 파일은 다음과 같다. 원래 아래 코드들은 모두 위 Memo.java에서 추가적으로 작성되어야 할 부분들이지만 Lombok이 해당 부분을 빌드 시 자동 생성해 주었다.
package com.sparta.springprepare;
public class Memo {
private final String username;
private String contents;
public String getUsername() {
return this.username;
}
public String getContents() {
return this.contents;
}
public void setContents(final String contents) {
this.contents = contents;
}
public Memo(final String username) {
this.username = username;
}
}
Java
복사
Spring 내장 서버 Apache Tomcat 포트번호 등 서버 설정 변경하기
내장 서버와 관련된 설정은 다음처럼 간편하게 application.properties라는 설정 파일에서 수정 할 수 있다. 내장 톰캣이 아닌 과거의 별도 톰캣을 사용하는 경우 config 파일 등 복잡한 설정 구문들이 섞인곳에서 포트를 찾아서 수정해야 하는데, 개발자의 실수로 잘못 수정 되는 실수도 막을 수 있다.
간편하게 한줄을 추가해서 포트 번호를 8081로 실행되고 있는 모습이다.