Lombok을 사용하시면 더 편리합니다만 롬복을 사용 안 하시거나 현 페이지에서 설명하는 방법은 모든 객체들에 적용이 가능한 방법입니다.
한마디썰~! 뭘 화면에 출력한다는거지?
코딩하다보면 MyDTO my = new MyDTO();
해서 my안의 객체들에 실제 들어있는 값을 보고 싶지만 객체 주소만 출력되는 경우를 많이 보게 된다.
(toString을 구현하셨으면 나오겠지만 안 하시거나 변경할 때마다 지웠다가 다시 구현하긴 번거로운게 사실이죠)
보통 Vo, DTO, Bean이라고 불리는 Business Object는 사용할 때 getXXX, setXXX으로 캡슐화된 객체이기 떄문에 값의 확인이 어려운 경우가 초보 개발자분들에게는 여간 불편하게 느껴집니다.
이러한 불편을 한방에 해결해 줄 수 있는데 해당 클래스에 toString()을 재정의해주면 되지만 위에 언급한대로 클래스의 멤버 변수가 수정되면 재정의한 toString()도 수정해야한다. 한마디로 귀찮다.
다음과 같은 방법으로 유용하게 객체의 값을 확인이 가능하다.
toString()을 재정의할 때 멤버변수들 대신에 다음과 같이 리플렉션을 이용해서 하면 클래스 멤버변수의 변경과 관계없이 모든 객체를 출력해볼 수 있다.
public String toString() {
return ToStringBuilder.reflectionToString(this);
}
아래와 같이 2번째 인자값은 스타일에 관련된 내용으로 다음과 같은 스타일이 제일 보기가 편했다.
ToStringBuilder.reflectionToString(this, ToStringStyle.MULTI_LINE_STYLE);
'나는개발자다!! > 자바 Spring' 카테고리의 다른 글
아이바티스(iBatis)를 사용하자 썰 (0) | 2018.10.18 |
---|---|
아이바티스썰 조건문 (0) | 2018.10.18 |
JSTL foreach 문에서의 상태값 썰 (0) | 2018.10.16 |
Java 프로젝트에 Sqlite 설정 썰~! (0) | 2018.10.14 |
RestController 사용법 썰 (0) | 2018.10.14 |