빈(Bean)
자바빈
자바빈은 자바로 작성된 소프트웨어 컴포넌트이다.
자바빈은 빌더 형식의 개발도구에서 가시적으로 조작이 가능하고 또한 재사용이 가능한 소프트웨어 컴포넌트이다.
자바빈의 관례
자바빈클래스로서 작동하기 위해서, 객체 클래스는 명명법, 생성법 그리고 행동에 관련된 일련의 관례를 따라야만 한다. 이러한 관례는 개발 도구에서 자바빈과의 연결을 통해 클래스의 재사용 그리고 클래스의 재배치를 가능하게 한다.
- 클래스는 직렬화되어야 한다(클래스의 상태를 지속적으로 저장 혹은 복원을 위해)
- 클래스는 인자가 없는 기본 생성자를 가지고 있어야 한다.
- 클래스의 속성들의 get, set 혹은 표준 명명법을 따르는 메소드들을 사용해 접근할 수 있어야 한다.
- 클래스는 필요한 이벤트 처리 메서드들을 포함하고 있어야 한다.
- 멤버 변수는 private 선언되어 접근을 제한해야 한다.
스프링 빈
간단히 말하면 자바 객체이다.
스프링 컨테이너에 의해서 자바 객체가 만들어 지게 되면 이 객체를 스프링 빈이라고 부른다.
스프링 IoC 컨테이너에 의해서 관리되고 애플리케이션의 핵심을 이루는 객체들을 스프링에서는 빈즈(Beans)라고 부른다. 빈은 스프링 IoC컨테이너에 의해서 인스턴스화되어 조립되거나 관리되는 객체를 말한다. 이같은 점을 제외하고 빈은 수많은 객체들중의 하나일 뿐이다.
빈과 빈 사이의 의존성은 컨테이너가 사용하는 메타데이터 환경설정에 의해서 반영된다.
스프링의 애플리케이션에서 만들어지는 모든 오브젝트가 빈은 아니다. 그 중에서 스프링이 직접 그 생성과 제어를 담당하는 오브젝트만을 빈이라고 부른다.
출처
토비의 스프링(책)
댓글남기기