(Domain) Model Class

2010. 8. 15. 14:07plming/Java - Spring

1. BaseObject를 생성하여 공통적인
   toString(), equals(), hashCode() 등의 method를 정의하면
   직접 구현하는 불편함을 덜 수 있어서 편리하다.

   → 아파치 자카르타 프로젝트의 Commons Lang (http://commons.apache.org/lang/)에서 제공하는 API를 이용하여 이 메소드들을 쉽게 구현하고 있다.

 package net.javajigi.user.model;
 
 import java.io.Serializable;
 
 import org.apache.commons.lang.builder.EqualsBuilder;
 import org.apache.commons.lang.builder.HashCodeBuilder;
 import org.apache.commons.lang.builder.ToStringBuilder;
 import org.apache.commons.lang.builder.ToStringStyle;
 
 public class BaseObject implements Serializable {
     public String toString() {
         return ToStringBuilder.reflectionToString(this,
                 ToStringStyle.MULTI_LINE_STYLE);
     }
 
     public boolean equals(Object o) {
         return EqualsBuilder.reflectionEquals(this, o);
     }
 
     public int hashCode() {
         return HashCodeBuilder.reflectionHashCode(this);
     }
 }



2. User TABLE의 각 컬럼에 해당하는 Setter/Getter를 가지는 (Domain) Model Class
   → private 항목 중 일부항목을 toString()을 통해서 표시하지 않거나,
       다른 형태로 표시하기 위해서 toString()를 오버라이드 하면된다.

 package net.javajigi.user.model;
 
 public class User extends BaseObject {
     private String userId = null;
     private String password = null;
 
     public String getPassword() {
         return password;
     }
     public void setPassword(String password) {
         this.password = password;
     }
 
     public String getUserId() {
         return userId;
     }
     public void setUserId(String userId) {
         this.userId = userId;
     }
 
     /**
      * 비밀번호가 일치하는지 여부를 결정하는 메써드.
      */
     public boolean isMatchPassword(String inputPassword) {
         if (getPassword().equals(inputPassword)) {
             return true;
         } else {
             return false;
         }
     }
 
     public String toString() {
         StringBuffer sb = new StringBuffer();
         sb.append("[\n");
         sb.append("userId=");
         sb.append(getUserId());
         sb.append("\n");
         sb.append("]\n");
         return sb.toString();
     }
 }

[출처] Spring 프레임워크 워크북

'plming > Java - Spring' 카테고리의 다른 글

Lightweight 컨테이너 아키텍처 = Spring Framework  (0) 2010.08.15
EJB 아키텍처  (0) 2010.08.15
Non EJB 아키텍처  (0) 2010.08.15
DataSource Lookup  (0) 2010.08.15
JBoss 관리자 개발 가이드  (0) 2010.07.17