관리 메뉴

제뉴어리의 모든것

java bean 규약과 java bean에 대하여.. 본문

JAVA

java bean 규약과 java bean에 대하여..

제뉴어리맨 2021. 3. 15. 23:02

29. 자바 Beans의 개념, 규약, 종류

 

 

- JavaBeans

 

 => JavaBeans란 자바로 작성된 소프트웨어 컴포넌트를 지칭하는 단어로 이 컴포넌트를 빈(Bean)이라고 부르며 썬사의 JavaBeans API에 정의된 스펙에 따라 만든다.

 => JavaBeans는 자바 관련 소프트웨어 개발에 있어 재사용이 가능한 표준 컴포넌트 모델이다.

 

 

- Beans

 

  => java 클래스들을 모아놓은 package 

  => Model, View, Controller(MVC패턴 구현)

     Model - 저장소역할( setXxx(), getXxx() 구현) - java코딩 

     View - GUI역할(클라이언트에게 보여줄 화면구성 구현 ) - jsp코딩

     Controller - DAO(데이터처리 담당 -DB연동)역할 , 비즈니스 로직

                     내부적으로 보이지 않게 처리해야하는 기능 구현 -java코딩, 서블릿문서

 

 => Beans를 이용하여 MVC패턴으로 구현함으로써 재사용성과 유지보수 용이

 => 이러한 MVC패턴을 기반으로 나오는 다양한 프레임웍이 있음.

 

===========================================================================================================================

 

*빈즈 규약

 

  [1] 기본 생성자가 반드시 존재해야한다. (인자가없는 디폴트 생성자)

  [2] 속성을 접급한고 꺼내올수있는 setXXX/getXXX메소드를 구성한다.

  [3] 속성을 지정(private)해야하는데 속성 이름은 보통 html의 form태그안에서 input 태그의 name속성 값과 같게 정한다.

 

*빈즈의 종류

 

  [1] 비쥬얼 컴포넌트 :  ex) JButton, JTextField......

  [2] 데이터빈즈 : 데이터를 담아두는 객체를 만드는 클래스 ex) StudentDTO, StudentVO.....등

  [3] 서비스빈즈 : 연산이나 서비스 기능 Beans즉, worker빈즈 ex) StudentDAO....등

 

*빈즈의 유효범위

  [1] page : 하나의 jsp페이지 내에서만 유효

  [2] request : 하나의 요청에 대한 처리관련 jsp페이지들에 유효, 포워딩 되거나 인클루드된 페이지에서 이 빈을 사용가능

  [3] session: 빈은 서버 파트의 기억 공간인 session객체에 저장됨, 하나의 사용자(브라우저)에대한 유효

       ** 유효시간 : 특정사용자가 웹브라우저를 닫을때까지 , 특정 설정이 없으면 30분동안 요청이 없을때까지(conf/web.xml에서 세션시간(Session time out)을 조정할수있다.)

 

  [4] application : JSP 애플리케이션과 생명주기를 같이함, 

                          서버가 종료되기전까지 메모리에 상주, 

                          웹 애플리케이션이 undeploy되기전까지 메모리에 상주

 

웹 애플리케이션 deploy -> 생성

웹 애플리케이션 undeploy -> 제거

 

  cf)크기

       page < request < session < application

===========================================================================================================================

 

 

 -Beans만들기

 

  1. Model의 역할 저장소(java문서)

 

   package gaon.bean;

   public class LoginBean{

 

     private Strig id;

     private int pwd;

 

      //전역변수 id, pwd에대한 setXxx()메소드와 getXxx()메소드 작성

     public void setId(String id){

this.id = id;

     }

     public String getId(){

return id;

    }

 

    public void setPwd(int pwd){

this.pwd = pwd;

   }

   public int getPwd(){

return pwd;

   }

}//end

 

 

  2. jsp영역에서 Beans사용법

 

    - beans 사용 선언

    <jsp:useBean id="별칭" class="사용할클래스이름" scope="beans의범위" />

        

      * id="bean" => bean이라는 이름으로 클래스에 있는 메소드 접근

      * class="gaon.bean.LoginBean"  => bean 이름으로 사용한 클래스선언

 

      * scope ="request | session | application | page"

             request => 사용자요청이 들어오는 순간에만 bean사용함.

             sssion => 클라이언트의 세션이 살았는동안 bean사용함.

             application => 서버시작 ~ 종료될때가지 bean사용함.

             page => 현재 페이지내에서만 사용함(기본값)

 

 

  - 선언된 Bean에 저장하기 ( Bean data를 저장 )

 

  <jsp:setProperty name="bean" property="id" /> 

     => bean 클래스에 있는 setId()호출됨

  <jsp:setProperty name="bean" property="*" /> 

     =>bean 클래스에있는  set으로 시작하는 모든메소드 호출됨

 

 

  -선언된 Bean의 데이터 가져오기

    <jsp:getProperty name="bean" property="id" /> 

      => bean클래스에 있는 getId()호출됨.

 

 

출처 : 29. 자바 Beans의 개념, 규약, 종류 (tistory.com)