Bean

헨도·2024년 6월 25일
0

SpringBoot

목록 보기
1/23
post-thumbnail

자바 Bean & 스프링 Bean

자바 Bean

  1. 특정한 정보(id, name 등)을 가지고 있는 클래스를 표현하는 하나의 규칙
  2. 데이터를 표현하기 위한 목적을 지니고 있다.
  • 위 규칙들을 지닌 클래스를 Java Bean 이라고 한다.

관례

  • 반드시 클래스는 패키지화 되어야한다.
  • 멤버 변수는 property 라고 한다.
  • 멤버 변수는 private 로 지정하고, 외부 접근을 위한 get, set 메소드를 정의한다.
  • get, set 메서드는 public 으로 정의한다.
  • 클래스는 인자(Argument) 가 없는 기본 생성자를 갖는다.
  • 직렬화(Serialize) 가 가능해야한다.
  • getter 및 setter 메서드라는 특정 값을 가져오고 설정하는 메서드가 있어야 한다.

Code

public class JavaBean {
	// 필드 private
    private String bean;
    private int beanValue;
    
    // 전달 인자가 없는 생성자
    public JavaBean() {
    }
    
    // getter
    public String getBean() {
    	return BeanName;
    }
    
    // setter
    public void setBean(String bean) {
    	this.bean = bean;
    }
    
   // getter
   public int getbeanValue() {
   		return beanValue;
   }
   
   // setter
   public void setbeanValue(int beanValue) {
   		this.beanValue = beanValue;
   }
}

스프링 Bean

  • 스프링에서의 Bean은 스프링 IoC 컨테이너가 관리하는 Java 객체를 뜻한다.
  • 일반 객체와 다른 점이 없다.
  • 그냥 스프링 IoC 컨테이너에서 관리되는 객체를 Bean 이라고 부른다.

제어의 역전(IoC, Invertion of Control)

  • IoC 의 개념에 대해 알아보자.
    객체의 제어권을 프레임워크의 컨테이너에게 넘기는 개념
    일반적으로 자바에서는 개발자가 각 객체를 직접 생성하고 제어해야 했다.
    하지만 스프링에서는 스프링 컨테이너에 Bean(객체)를 등록하기만 하면, 스프링 컨테이너에서 객체의 생명주기를 컨트롤 해준다.
    즉, 객체에 대한 제어권이 개발자 -> 스프링 컨테이너로 역전되기 때문에 제어의 역전이라고 한다.

스프링 IoC 에서 관리되는 객체란?

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

0개의 댓글