본문 바로가기
major

Spring 2.0 프레임워크의 이해 (1/3)

by epro 2007. 3. 3.
2007 한빛미디어 Spring2.0 프레임워크의 이해 강의노트입니다.

개발환경셋팅

JDK5.0
JRE5.0
Eclipse3.2
MySql5.2설치 ( http://wiki.javajigi.net/pages/viewpage.action?pageId=419 참조)
http://www.mozilla.com/en-US/firefox/ 설치

bookmarks.xml

<?xml version="1.0" encoding="UTF-8"?>
<bookmarks>
   <site name="Maven IDE" url="
http://m2eclipse.codehaus.org/" web="false" selected="false" local="false"/>
   <site name="Spring IDE" url="
http://springide.org/updatesite/" web="false" selected="false" local="false"/>
   <site name="Quick Regular Expression" url="
http://www.bastian-bergerhoff.com/eclipse/features" web="false" selected="false" local="false"/>
   <site name="Implementors" url="
http://eclipse-tools.sourceforge.net/updates/" web="false" selected="false" local="false"/>
   <site name="Property Editor" url="
http://propedit.sourceforge.jp/eclipse/updates/" web="false" selected="true" local="false"/>
   <site name="Velo Eclipse" url="
http://propsorter.sourceforge.net/veloeclipse/" web="false" selected="false" local="false"/>
</bookmarks>



mysql 잘 되는지 테스트 해보자
prompt에서..
mysql -u root -p
[password]
show databases


plus in install
help > install/update > 두번째 radio > maven ide, spring ide 설치

로그인이 user로 되어 있다면... document..에 .m2디렉토리를 만들어 준다


File > import > General > File System > Lecture라고 압축을 풀어놓은 디렉토리를 import한다.

프로젝트 > Maven2 > enable : 관련된 파일들을 repository로 부터 다운받아서 설치한다.
Maven2가 중간에 끊긴 경우 Project>Clean>Lecture를 클릭해서 다시 실행시킨다.

Maven2를 쓰는 이유?

프로젝트 내에서 lib를 관리하다보니 jar파일이 커지는 불편함이 있었고.
CVS등을 사용하는데 문제가 있었다.
또 jar의 버젼이 바뀌었을 때 새로 업데이트 해야하는 불편함이 있었다.
따라서 Maven2를 쓰게 되었는데, pom.xml에 내가 사용할 라이브러리와 버젼을 정의해주면, 로컬로 파일을 다운로드 하게 된다.
로컬 다운로드 위치는 로그인한 계정 디렉토리 밑에 .m2/repository에 다운로드 되게 된다.
.m2 디렉토리가 존재하지 않는다면 디렉토리를 만들어 준다
방법 : cmd > mkdir .m2

배포할 때에는 scope에 설정을 변경해서 runtime시 필요한 것만 배포할 수 있다.


TIP
eclipse에서 template을 써서 코딩을 편하게 만들자!
ex)debug

* Strategy pattern 에 대해서 알아보자
=>클래스간의 의존관계를 얽을 수 있도록 프레임워크 화 한것이 Spring Framework이다.


Spring 기본 Template 설정하기
http://wiki.javajigi.net/pages/viewpage.action?pageId=3112966


Spring프로젝트 시작하기
1.Project위에서 context menu열기 > Add Spring Project Nature > 확인 : Project에 S라는 아이콘이 뜬다.
2. Window > Show View > Other > Spring 클릭 > Spring Beans 선택 > 확인
: Spring 프로젝트가 뜬다.
3. Spring project가 뜨면 그 위에서 마우스 오른쪽 버튼 클릭 >Spring 설정파일(XML)을 추가한다
4. 의존관계 그래프가 보고 싶다면.. show graph로 볼 수 있다!

    <property name="messageProvider" ref="provider"/> // default는 Bean이다.


Spring Test 용의성
-> 테스트가 용의하도록 스프링에서 편의를 제공해준다
    AbstractDependencyInjectionSpringContextTests를 이용하면 된다.
-> AutoWire는 type, name에 대해 가능하다는 것을 알아두자!


IoC 컨테이너 개념
- Tomcat/WebLogic? Servlet, EJB의 라이프 사이클 관리, 멀티쓰레드 등.. 서버들이 갖추어야 할 기능 갖추고 있음.
- Spring은 POJO에 대한 라이프 사이클 관리


Singletone?, Non Singleton?
default로 singletone pattern을 지원하고 있다.
ApplicationContext에 key, value에 대한 hashmap을 가지고 있기때문에 가능하다.
Static을 이용한 Singletone의 문제점이 있다..


Spring Friends
singletone pattern
factory pattern
strategy pattern
observer pattern
template method pattern

1)클래스 생성
2)의존관계
3)테스트 용이한 코드
이런 것들에 관한 고민을 해야겠죠....
but, 개발기간 오래 걸리겠지... 이런거 고민할 시간도 주지 않고..
스프링이 이런 패턴을 다 녹여가지고 있다.

* google검색 > jvm 메모리 ppt  : hjbang.... 참조하기
* Spring 프레임워크 워크북 123 page 참조

#Appendix A. XML Schema-based configuration에서 Spring2.0기능 참조하기
Namespace를 이용
<jee:*/>
<util:*/>
<lang:*/>
<aop:*/>
<tx:*/>

FromSpringoneToSpringTwo.pdf 참조하기 (http://www.interface21.com/)


복습
Chapter2 source 보기
pring의 사상 이해하기
Spring2.0의 변경사항 (IoC쪽) 확인해보기
과제 : http://wiki.javajigi.net/pages/viewpage.action?pageId=7170참조
강의자료는 이 위치에~
http://wiki.javajigi.net/pages/viewpage.action?pageId=5242882

댓글