토비의 스프링 2

[Spring 스프링] Spring Core - IoC(Inversion of Control), DI(Dependency Injection)

IoC(Inversion of Control, 제어의 역전) IoC는 말그대로 제어가 역전되었다, 제어의 흐름을 바꾼다는 뜻이다. 제어가 역전이 안된 상태부터 생각해보자. 처음 프로그래밍을 하던 시절을 생각해보면, 보통 프로그램은 main 메서드가 실행되고, 다음에 사용할 객체를 결정, 생성하고, 객체에 있는 메소드를 호출한다. 그리고 이 오브젝트 또한 자신이 사용할 객체를 스스로 생성하고 사용한다. 자신에 관련된 작업은 자신이 제어한다. 제어가 역전이 되었다는 것은 지금까지의 능동적인 과정이 수동적으로 바뀌는 것을 말한다. 객체가 자신이 사용할 오브젝트를 스스로 결정하지도 않고, 생성하지도 않는다. 다른 누군가가 외부에서 객체를 만들어서 자신에게 넘기면 그것을 사용한다. 스프링에서는 애플리케이션 컨텍스..

[Spring 스프링] POJO란?

우테코 레벨1때, 도메인에다가 DB를 연결하는 로직을 집어넣어서 다음과 같은 리뷰을 받았던 적이 있다. 이 때는 POJO를 외부 기술을 적용하지 않는 순수한 자바 오브젝트 라고 한문장으로만 이해하고 남어갔다. 이번에 스프링을 공부하면서 POJO라는 단어가 꽤 나오길래 이번에 토비의 스프링을 읽으면서 한번 정리해보았다. POJO POJO(Plain Old Java Object)란? 객체지향적인 원리에 충실하면서, 환경과 기술에 종속되지 않고 필요에 따라 재활용될 수 있는 방식으로 설계된 오브젝트 매우 쉽게 말하면, 간단한 자바 오브젝트를 사용하는 것이다. 하지만 단지 자바의 문법을 지키고, 순수하게 Java API만을 사용했다고 해서 그 코드를 POJO라고 할 순 없다. 위의 정의에서 볼 수 있듯이 객체지..

1