스프링을 공부하면서…

2013. 8. 30. 11:46Java/Spring Framework

우선 토비의 스프링 책을 읽기 시작했다.

물론 정신없이 읽을 시간이 없다는 핑계로 진도를 못 빼고 있을때아래 블로그 글을 읽었다.


1.     Container
Container
란 당신이 작성한 코드의 처리과정을 위임 받은 독립적인 존재라고 생각하면 된다. Container는 적절한 설정만 되어 있다면 누구의 도움 없이도 프로그래머가 작성한 코드를 스스로 참조한 뒤 알아서 객체의 생성과 소멸을 컨트롤 해준다
.

2.     Spring 만든 사람 , 로드 존슨 항상 프레임워크 기반으로 접근하라! , 당신이 한 클래스에서 DB에 넣고 빼는 등 온갖 짓거리로 코드를 짜고 있다면 당신은 프로그래머가 아니다.

3.     스프링과 더불어 대표적인 컨테이너를 예를 들자면, Tomcat 과 같은 WAS를 들수 있다.
우리가 작성한 서블릿을 쓸지말지에 대한 결정은 Tomcat이 하므로 이것 또한 Container 이다
.

4.     IoC/DI
- Inversion of Control
Dependency Injection

5.     IoC Container 이다.
Container
는 당신이 작성한 코드 컨트롤(객체의 생성과 소멸)을 대신 해 주는데 IoC 덕분에 우리는 미친 사람마냥 언제 호출될지 모르는 코드를 마음껏! 칠수 있게 되었다
.

6.     DI 방식으로 코드를 작성한다면, 현재 사용하고 있는 객체의 메서드가 어떻게 작성되었는지 알 필요가 없으며 솔직히 그 클래스가 기능을 잘 구현했는지 조차도 알 필요가 없다. 그저 당신이 확인할 사항은 클래스의 기능을 추상적으로 묶어둔 인터페이스만 갖다 쓰면 그만이다.

7.     DI 마저도 스프링의 고유 방식이 아니고, GoF 중에서 가장 유명한 전략패턴을 일종의 프레임워크 처럼 편리하게 사용 할 수 있도록 만든 것이라 할 수 있는데 스프링은 이런 전설로만 알아오던 전략패턴을 능수능란하게 사용하게 끔 편리화 했다.

8.     IoC/DI의 개념을 요약하면, 정신나간 듯 언제 사용될 지도 모르는 코드를 처대면서(IoC) 동시에 사용하고 있는 코드가 뭔지도 모르면서 일단 갖다 쓰는(DI) 획기적이고 진보적인 프로그래밍 작성방식이라 이해하면 되겠단다.

9.     서비스 추상화
추상화란 하위 시스템의 공통점을 뽑아내서 분리시키는 것을 말한다.
그렇게 하면 하위 시스템이 어떤 것인지 알지 못해도, 또는 하위 시스템이 바뀌더라도 일관된 방법으로 접근할 수가 있다.

10.    

 

 

http://springmvc.egloos.com/487497

http://springmvc.egloos.com/492767

 

MyBatis + Connection Pool + Transaction

(Spring Security  은 이후 설치)
1
: http://springmvc.egloos.com/429363

2 : http://springmvc.egloos.com/429570