web developer

[java] Java Bean vs Spring Bean 본문

Language/Java

[java] Java Bean vs Spring Bean

trueman 2022. 1. 20. 13:25
728x90
728x90

Java Bean 정의


- 속성과 메서드로 이루어져 있고, 데이터를 표현하는 것을 목적으로 하는 자바 클래스이다. (DTO 혹은 VO의 형태)

- 컴포넌트와 비슷한 의미로도 사용된다.

* 컴포넌트(Component)란 프로그래밍에 있어 재사용이 가능한 각각의 독립된 모듈

- 필드는 private로 구성되어 gettersetter를 통해서만 접근할 수 있다.

- 전달인자가 없는 생성자를 가지는 형태의 클래스이다.

- JavaBean 규격서에 따라 작성된 자바 클래스를 가리킨다.

* 클래스는 패키지화 하여야 한다.
* 멤버변수는 프로퍼티(Property)라 칭한다.
 `--프로퍼티의 접근자는 private이다.
 `--프로퍼티마다 getter/setter 가 존재해야 하며, 그 이름은 각각 get/set으로 시작해야 한다.
 `--프로퍼티 getter/setter 메서드의 접근자는 public, 클래스의 접근제어자는 public 으로 정의한다.
 `--외부에서 프로퍼티에 접근은 메서드를 통해서 접근한다.
 `--getter의 경우 파라미터가 존재하지 않아야 하고, setter의 경우 한 개 이상의 파라미터가 존재한다.
 `--프로퍼티의 형이 boolean일 경우 get 메서드 대신 is메서드를 사용해도 된다.

 

Java Bean의 형태는 다음과 같다. 

package 패키지_명;

[import 패키지_명;]

public class Bean_ClassName [ implements java.io.Serializable ] {
	private String name;                 // 값을 저장하는 속성 정의(필드)
	public Bean_ClassName() { }          // 기본 생성자

	public String getName() {            // 필드 값을 읽어오는 메소드 
		return name; 
	}
	public void setName(String name) {   // 필드 값을 저장하는 메소드
		this.name = name;
	}
}

Spring Bean 정의


Spring에서의 Bean은 스프링 IoC컨테이너가 관리하는 Java 객체를 뜻한다.

일반 Java 객체와 다른 점은 없으며, 스프링 IoC컨테이너에서 관리되는 객체를 Bean이라고 부르는 것이다.

스프링 IoC가 관리하는 객체
라함은 스프링에 의해 생성되고, 라이프 사이클을 수행하고, 의존성 주입이 일어나는 객체들을 말한다. 즉, 개발자가 관리하는 객체가 아닌 스프링에게 제어권을 넘긴 객체를 스프링에서 Bean이라고 부른다.

 

출처 : https://jjingho.tistory.com/10

 

728x90
728x90
Comments