@Setter
필드의 값을 세팅 해주는 annotation
필드에 값을 설정해 주기 위해서 setter를 무분별 하게 설정해 주는 경우가 있는데,이런 경우는 로직을 거치면서 개발자의 실수로 값이 임의로 변경될 수 있다. 이런경우를 방지 하고자 setter를 따로 메소드를 만들어 주는 경우가 많다고 들었다.
Entity클래스는 절대 Setter메소드를 만들지 않는다. 하지만 해당 필드가 메겨져야 하는 목적과 의도를 나타낼 수 있는 메소드를 추가하으로서 위의 사항을 방지 할 수 있다.
example
잘못된 예
public class Order{
public void static setStatus(boolean status){
this.status=status;
}
}
public void 주문서비스의_취소이벤트(){
order.setStatus(false);
}
올바른 사용 예
public class Order{
public void cancelOrder(){
this.status=false;
}
}
public void 주문서비스의_취소이벤트(){
order.cancelOrder();
}