티스토리 뷰

SpringBoot

Java Bean & Spring Bean

nswon 2022. 4. 4. 19:11

0. 개요

Spring으로 개발하다보면 Bean이라는 개념이 나온다. 대부분 annotation이라고 생각하지만, 막상 의미를

정의하라고 하면 헷갈리는 경우가 많다. 그래서 Bean에 대한 개념을 명확하게 정리해보고자 한다.

 

 

1. Java Bean

Java Bean은 특정 형태의 클래스를 가리킬 때 사용된다.

DTO형태가 Java Bean이라고 생각하면 쉽다.

 

필드는 private만 구성되어 getter와 setter로만 접근 할 수있고,

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

 

  • getter / setter
  • public의 no-argument 생성자
  • 모든 필드는 private로 getter와 setter를 통해서만 접근이 가능

 

코드로 보면 이해가 쉽다

public class AboutJavaBean {
	 //private로 필드선언
    private String name;
    private ing age;
    
    // 전달 인자가 없는 no-argument생성자
    public AboutJavaBean() {
    }
    
    //getter
    public String getName() {
    	return getName;
    }
    //setter
    public void setName(String name) {
    	this.name = name;
    }
    
    public int getAge() {
    	return getAge;
    }
    
    public int setAge(int age) {
    	this.age = age;
    }
}

 

lombok을 활용하면 코드가 간편해진다.

 

@Getter
@Setter
@Noargsconstructor
public class LombokJavaBean {

	private String name;
    private int age;
}

 

 

2. Spring Bean

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

그냥 스프링IoC컨테이너에서 관리하는 객체를 Bean이라고 부른다.

 

스프링IoC컨테이너는 스프링에 의해 생성하고, 관리되고, 의존성이 주입되는 객체들을 말한다.

즉, 개발자가 객체를 관리하는 것이 아닌, 스프링한테 제어권을 넘긴 객체를 Spring에선 Bean이라고 한다. 

 

Spring에서 Bean을 등록하는 방법으로는,

@Component, @Bean 등이 있다.

 

이번에는 Bean의 개념과 Java Bean, Spring Bean에 대해서 알아보았다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday