[꼼꼼한 개발자] 꼼코더

[JAVA] - Java Beans(자바 빈즈) 간단하고 쉽게 이해하기 본문

간단하고 쉽게/JAVA

[JAVA] - Java Beans(자바 빈즈) 간단하고 쉽게 이해하기

꼼코더 2022. 12. 20. 15:55
반응형

👨🏻‍🏫 간단정리(자바 빈즈(JAVA Beans))

  • JSP의 표준 액션 태그로 접근할 수 있는 자바 클래스. 즉 자바 객체이다.

 

👀  자세한 내용은 아래를 참고


❓ 자바 빈즈(JAVA Beans)란

  • JSP의 표준 액션 태그로 접근할 수 있는 자바 클래스. 즉 자바 객체이다.
  • 값을 가지는 속성(멤버변수)과 값을 설정하는 메소드(setter) 값을 추출하는 메소드(getter)로 이루어져 있다.
  • 자바빈즈는 하나의 JSP 페이지에 종속적으로 사용되는 것이 아니라, 여러 JSP 페이지에서 사용될 수 있다.
  • 비즈니스 로직 부분을 담당하는 자바 프로그램 단위.
  • 빌더 형식의 개발도구에서 가시적으로 조작이 가능하고 또한 재사용이 가능한 소프트웨어 컴포넌트.
  • 쉽게 말 해 JSP 파일 내에서 사용이 가능한 자바 객체라고 생각해도 무방하다.

👍 자바빈즈의 장점

1️⃣ 폼 데이터 처리에 좋다.

  • 수 많은 파라미터를 자바 빈에 담아 사용/전달 할 수 있기 때문.

2️⃣ 재사용성

  • 자바빈즈는 앞서 말했던 것처럼 여러 JSP 페이지에서 사용될 수 있다.

3️⃣ 컴포넌트 기반 구현

  • JSP, Java bean, Business Logic이 분리되어 각각이 하는 기능을 줄일 수 있습니다.

🤙🏻 JSP 자바 빈즈 개발 규약

패키지화
  • JSP 페이지에서 자바빈즈를 사용할 때 기본 패키지에 있으면 인식이 불가하다.
  • 따라서 반드시 패키지화가 되어 있어야 한다.

 

기본생성자 존재
  • 자바빈즈의 객체 생성은 <jsp:useBean> 액션 태그로 생성하는데 객체가 생성될 때 기본 생성자를 이용하기 때문에 반드시 기본 생성자가 있어야 한다.
  • 기본 생성자는 인자값이 없는 생성자를 말한다.

 

멤버변수의 접근자는 private로 선언
  • 자바빈즈 객체의 속성 값은 외부에서 직접 접근할 수 없도록 private으로 선언해야 한다.
  • 따라서 자바빈즈 객체의 속성 값은 메소드로만 접근하게 작성 한다.

 

getter 메소드
  • private로 선언한 멤버 변수의 값을 반환하는 메소드.
  • getter() 는 값을 반환하는 기능으로 구성되며, 메소드의 반환 타입은 반환하는 멤버변수의 타입으로 지정. 
  • getter() 의 이름을 만드는 규칙은 get 다음에 멤버변수의 이름을 붙인다.
  • 이때 이름의 첫글자는 대문자, 두 번째 글자 부터는 대소문자, 철자 동일하게 작성.

 

setter 메소드
  • private로 선언한 멤버 변수의 값을 설정하는 메소드.
  • setter() 는 멤버변수 값을 수정하는 기능으로 구성되며, 값을 수정만 하므로 반환 값과 반환 타입은 지정할 필요가 없고 수정할 값을 처리하는 매개변수를 선언해야 한다.
  • setter() 의 이름을 만드는 규칙은 set 다음에 멤버변수의 이름을 붙인다.
  • 이때 이름의 첫글자는 대문자, 두 번째 글자 부터는 대소문자, 철자 동일하게 작성.

 

접근자
  • getter와 setter의 접근자는 public으로 선언한다.
  • 그래야 JSP 페이지에서 이 메소드를 호출할 수 있다.

🥜 자바 빈즈 생성(JAVA)

1. 패키지 생성 후 class 작성

 

2. 개발규약에 맞춘 코드 작성

 


🥜 자바 빈즈 생성(JSP)

  • 자바 빈즈를 생성해서 사용할 jsp 폴더에 사용 코드작성

 

💡 속성

<jsp:useBean class="test.beans.TestBean" id="test" scope="page"/>

 

<jsp:useBean>
  • <jsp:useBean>액션 태그로 객체가 생성되면 주어진 자바빈즈 클래스에서 기본 생성자만 호출된다.
  • 따라서 JSP자바빈즈 객체는 기본 생성자가 있어야 한다.
class
  • 생성하고자 하는 자바빈의 위치를 나타냅니다.
id
  • 자바빈을 구분하기 위한 이름을 설정합니다. ex) HelloBean hello = new HelloBean() 과 동일합니다.
scope
  • 이 자바빈을 사용할 수 있는 범위를 지정합니다.
    • page : 하나의 JSP에서만 사용 가능
    • request : 요청이 처리되는 동안 forward, include 된 페이지 간에 사용 가능
    • session : 클라이언트 단위로 사용 가능
    • application : 웹 어플리케이션 단위로 사용 가능

 


 

👨🏻‍💻 자바빈즈 사용

🧺 Get

  • 자바빈에 포함되어있는 속성 값을 추출할 때 사용합니다.

 

💡 Get 속성

property
  • 값 추출에 사용할 자바빈즈 객체의 멤버변수 이름을 지정합니다
name
  • 자바빈(객체)의 이름
  • 사용할 자바빈즈의 jsp:useBean 태그에서 정의해 놓은 id 속성값과 동일하게 지정합니다.

⚙️ Set

  • 자바빈의 속성 값을 저장할 때 사용합니다.

 

💡 Set 속성

property
  • 멤버변수 이름
  • 값 수정(저장)에 사용할 자바빈즈 객체의 멤버변수 이름을 지정.
name
  • 자바빈(객체)의 이름
  • 사용할 자바빈즈의 jsp:useBean 태그에서 정의해 놓은 id 속성값과 동일하게 지정.
value
  • 멤버변수 값 지정
  • 객체의 속성을 변경하려는 값을 지정.
param
  • querystring에 작성된 값을 멤버변수 값으로 지정
  • 질의 문자열에서 param 속성에 할당된 값과 같은 name의 값으로 자바빈의 속성값을 설정.

 

 

 

Comments