[Spring] Java Bean, Spring Bean

김주원·2020년 7월 12일
2

Spring

목록 보기
2/4
post-thumbnail

들어가기에 앞서

Spring을 공부하면서 Bean이라는 말을 자주 접하게 된다. 따라서 Bean에 대해 정확히 알고가야 할 필요가 있다. Bean은 Java Bean과 Spring Bean으로 나뉜다. 따라서 이번 게시물에서는 Java Bean과 Spring Bean에 대해 알아보도록 하자.

Java Bean

개념

자바로 작성된 객체이며, 데이터 표현을 목적으로 한다.

생성 관례

1. 직렬화가 가능해야 한다.

  • 직렬화가 가능하다는 것은 다른 데이터 포맷으로 변환이 가능하다는 뜻이다.
  • 간단한 예시로, API에서 결과값들을 리턴할때 JSON으로 변환하는 경우가 있다.

2. 기본 생성자를 가진다.

  • 반드시 기본 생성자를 가져야 한다.
  • 만약 파라미터가 존재하는 생성자를 추가한 경우에는 기본 생성자 코드를 작성하지 않으면 기본 생성자가 없는 상황이 되므로 주의해야 한다.
  • 1) 기본 생성자가 존재하는 경우
public class User {
    private Integer id;
    private String account;
    private String password;

    ...
    ...
}
public class User {
    private Integer id;
    private String account;
    private String password;
    
    public User() {
        this.id = null;
        this.account = null;
        this.password = null;
    }
    
    public User(Integer id, String account, String password) {
        this.id = id;
        this.account = account;
        this.password = password;
    }

    ...
    ...
}
  • 2) 기본 생성자가 존재하지 않는 경우
public class User {
    private Integer id;
    private String account;
    private String password;
    
    // 기본 생성자 없음
    public User(Integer id, String account, String password) {
        this.id = id;
        this.account = account;
        this.password = password;
    } 
    
    ...
    ...
}

3. 멤버 변수는 private 속성이다.

  • 모든 멤버 변수는 반드시 private 속성이어야 한다.
  • private 속성으로 지정하는 이유는 데이터의 은닉을 위해서다.
  • 1) 올바른 Java Bean
public class User {
    private Integer id;
    private String account;
    private String password;

    // 생략
}
  • 2) 올바르지 않은 Java Bean
public class User {
    private Integer id;
    public String account;
    private String password;

    // 생략
}

4. 멤버 변수에 대한 설정자와 접근자를 가진다.

  • 반드시 모든 멤버 변수에 대한 설정자(Setter)와 접근자(Getter)를 가져야한다.
  • 1) 올바른 Java Bean
public class User {
    private Integer id;
    private String account;
    private String password;
    
    public void setId(Integer id) {
        this.id = id;
    }
    public void setAccount(String account) {
        this.account = account;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    
    public Integer getId() {
        return id;
    }
    public String getAccount() {
        return account;
    }
    public String getPassword() {
        return password;
    }
}

2) 올바르지 않은 Java Bean

public class User {
    private Integer id;
    private String account;
    private String password;
}

Spring Bean

개념

IoC 컨테이너에 의해 관리되며, 스프링 애플리케이션의 뼈대를 이루는 객체이다.

생성 관례

없다.

설정 및 만드는 방법

Spring Bean은 IoC 컨테이너에서 관리되기 때문에, IoC 컨테이너에 등록을 해야 사용할 수 있게 된다.

등록 방법은 2가지가 있다.

  • xml 파일
  • 어노테이션

이에 대해서는 추후 자세히 포스팅 할 예정이다.

profile
자기계발 블로그

0개의 댓글