snaag / TIL

https://github.com/snaag/todo3/issues
3 stars 0 forks source link

23-01-10-TUE #38

Open snaag opened 1 year ago

snaag commented 1 year ago
snaag commented 1 year ago

스프링 핵심 강의 > 객체 지향 설계와 스프링

이야기 - 자바 진영의 추운 겨울과 스프링의 탄생

1. 스프링의 탄생 (feat. EJB 의 단점)

EJB

2. 스프링, 하이버네이트의 등장

스크린샷 2023-01-11 오전 2 41 43 스크린샷 2023-01-11 오전 2 42 26

3. 스프링의 역사

4. 스프링의 역사 - Release

snaag commented 1 year ago

Java Bean

Bean 이름의 유래

커피 콩 (Bean) 에서 유래한 말이다. 콩은 코드의 작은 부분들을 의미하고 통은 이를 모은 것을 말한다. 커피 콩 (Bean) 들을 하나의 통 (Jar) 에 담아 보관한다는 것과 비슷한 맥락.

Java Bean 이란

왜 No-Argument 생성자를 사용하는지?

예를 들어서, 어떤 다른 소프트웨어가 SomeBean을 프로그램 내에서 생성하고 싶다.

public class BeanCreator {

    public Object create() throws ClassNotFoundException, IllegalAccessException, InstantiationException {
        String classPath = "SomeBean";
        Class cls = Class.forName(classPath);
        return cls.newInstance();
    }
}

이 때, 생성자에 Argument가 있다면 어떻게 되는가? 이 소프트웨어는 Argument가 몇개인지, 어떤 필드에 맵핑되는지 찾아야 한다.

Argument가 없는 생성자를 반드시 만들면 위처럼 오브젝트를 런타임(Runtime)에 생성해 주는 프로그램은 오브젝트 생성 → getter/setter를 이용해 값 설정으로 단순하게 목적을 달성 할 수 있다.

Class 와 Interface 외에도 Java Bean 이 필요한 이유

Serialization (직렬화) 이란