Spring - POJO


POJO ( Plain Old Java Object ) 란?

  • POJO 란 Java나 Java의 스펙에 정의된 것 이외에는 다른 기술이나 규약에 얽매이지 않아야 하고, 특정 환경에 종속적이지 않은 객체를 의미한다.
  • 또한 객체 지향적인 원리에 충실하면서 환경과 기술에 종속되지 않고, 필요에 따라 재활용될 수 있는 방식으로 설계된 오브젝트를 의미한다.
public class User {
	private String userName;
	private String id;
	private String password;

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}
}
  • 이렇게 순수 자바에서 제공하는 기능만으로 만든 클래스를 POJO 라고 부른다.


public class MessageForm extends ActionForm {
    String message;

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }
}

public class MessageAction extends Action {
    public ActionForward execute(ActionMapping mapping, ActionForm form,
        HttpServletRequest request, HttpServletResponse response)
        throws Exception {

        MessageForm messageForm = (MessageForm) form;
        messageForm .setMessage("Hello World");

        return mapping.findForward("success");
    }
}
  • 이렇게 다른 웹 프레임워크에 의존하는 코드는 애플리케이션 요구사항이 변경되면 수정해야하므로 POJO 라 할 수 없다.



POJO 프로그래밍이 필요한 이유

  • 특정 환경에 종속적이지 않고 유연하게 개발을 하기 위하여
  • 쉬운 디버깅을 위하여
  • 단순한 테스트가 가능하기 때문에
  • 객체지향적인 설계를 제한 없이 적용할 수 있기 때문이다. ( 가장 중요 )



Spring 과 POJO 의 관계

  • Spring 은 POJO 프로그래밍이 지향하는 프레임워크이다.
  • Spring 에서 지원해주는 다양한 기능들은 POJO 프로그래밍을 원활하게 할 수 있게 돕는다.
  • 대표적으로 IoC/DI, AOP, PSA 등이 있다.






results matching ""

    No results matching ""