Java Bean은 특정 형태의 클래스이다.
DTO나 VO의 형태가 Java Bean이라고 말할 수 있다.
전달 인자가 없는(No-argument) 생성자를 가지는 형태의 클래스이다.
모든 필드는 private로 getter와 setter를 통해서만 접근 가능하다.
public class JavaBean {
// 필드 -> private으로 선언
private String bean;
private int beanValue;
// 전달 인자가 없는(no-argument) 생성자
public JavaBean() {
}
// getter
public String getBean() {
return beanName;
}
// setter
public void setBean(String bean) {
this.bean = bean;
}
public int getBeanValue() {
return beanValue;
}
public void setBeanValue(int beanValue) {
this.beanValue = beanValue;
}
}
Spring에서의 Bean은 일반 Java 객체와 다른 점은 없고,
Spring IoC컨테이너가 관리하는 Java 객체를 뜻한다.
스프링 IoC가 관리하는 객체라함은 스프링에 의해 생성되고,
라이프 사이클을 수행하고,
의존성 주입이 일어나는 객체들을 말한다.
즉, 개발자가 관리하는 객체가 아닌 스프링에게 제어권을 넘긴 객체를 스프링에서 Bean이라고 부른다.