자바 빈이란
이 튜토리얼은 Java에서 bean이 무엇인지 소개하고 주제를 이해하기 위한 몇 가지 예제 코드를 나열합니다.
JavaBeans는 많은 객체를 단일 객체(빈)로 캡슐화하는 클래스입니다. 다음과 같은 속성을 가지고 있습니다.
- 직렬화 가능한 인터페이스 가져오기
- 개인 필드
- 생성자
getter
/setter
클래스의 직렬화 가능성은 java.io.Serializable
인터페이스를 구현하는 클래스에 의해 활성화됩니다. 이 인터페이스를 구현하지 않는 클래스에는 직렬화 또는 역직렬화 상태가 없습니다.
외부 클래스가 해당 필드를 쉽게 수정할 수 없도록 필드는 비공개여야 합니다. 이러한 필드에 직접 액세스하는 대신 일반적으로 getter
/setter
메서드가 사용됩니다.
객체를 생성하기 위해 0개 이상의 인수 생성자가 있을 수 있습니다.
개인 필드에 액세스하고 수정하기 위한 getter
및 setter
메서드가 있습니다.
이것은 Java에서 JavaBean의 기본 구조 또는 초안입니다.
// Implements Serializable interface
public class SimpleTesting implements Serializable {
// private fields
// no-args constructor
// list of getters and setters
}
Java에서 자바빈 생성
여기에서 3개의 개인 필드, 1개의 기본 생성자, 1개의 매개변수화된 생성자와 데이터를 설정하고 가져오기 위한 getter 및 setter가 있는 Javabean 클래스 SimpleTesting
을 만들었습니다. 아래 예를 참조하십시오.
import java.io.Serializable;
public class SimpleTesting implements Serializable {
private int id;
private String name;
private int salary;
public SimpleTesting() {}
public SimpleTesting(int id, String name, int salary) {
this.id = id;
this.name = name;
this.salary = salary;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getSalary() {
return salary;
}
public void setSalary(int salary) {
this.salary = salary;
}
}
Java에서 JavaBeans를 구현/액세스하는 방법
JavaBeans를 구현하기 위해 해당 클래스의 객체를 생성할 수 있습니다. 여기서는 생성자에 값을 전달하고 getter를 사용하여 값에 액세스합니다. 아래 예를 참조하십시오.
public class Main {
public static void main(String[] args) {
SimpleTesting st = new SimpleTesting(1, "Rohan", 100000);
System.out.println("id = " + st.getId());
System.out.println("name = " + st.getName());
System.out.println("salary = " + st.getSalary());
}
}
출력:
id = 1
name = Rohan
salary = 100000
Java에서 JavaBeans의 Setter 및 Getter
여기서는 setters 메서드를 사용하여 값을 설정한 다음 getter 메서드를 사용하여 값을 얻습니다. 이것이 자바빈즈의 강점이다. 아래 예를 참조하십시오.
public class Main {
public static void main(String[] args) {
SimpleTesting st = new SimpleTesting();
st.setId(1);
st.setName("Rohan");
st.setSalary(100000);
System.out.println("id = " + st.getId());
System.out.println("name = " + st.getName());
System.out.println("salary = " + st.getSalary());
}
}
출력:
id = 1
name = Rohan
salary = 100000
자바빈의 장점
Java Bean은 Java EE 전체에서 런타임 검색 및 액세스를 위한 범용 계약으로 사용됩니다. 예를 들어, JSP(Java Server Pages)는 페이지 간 또는 서블릿과 JSP 간의 데이터 전송 객체로 Java Beans를 사용합니다.