2008년 3월 15일 강의 자료

Download Report

Transcript 2008년 3월 15일 강의 자료

Spring 프레임워크의 이해 – day1
자바지기
내 가슴 속에 열정이 !!
by 박재성
2 / NHN-숭실대 산학 협업 교육
1. 2001년부터 자바지기(javajigi.net) 커뮤니티를 운영해 오고 있다.
2. 지금까지 책을 3권 집필했으며, 강컴 온라인 서적에서
자바 부문 월간 베스트 셀러에 한달 이상 올라간 적이 있다.
3. 지금까지 사내, 사외 강의한 총 회수가 30회 이상이다.
3 / NHN-숭실대 산학 협업 교육
1. 2001년부터 자바지기(javajigi.net) 커뮤니티를 운영해 오고 있다,
2. 지금까지 책을 3권 집필했으며, 강컴 온라인 서적에서
자바 부문 월간 베스트 셀러에 한달 이상 올라간 적이 있다.
3. 지금까지 사내, 사외 강의한 총 회수가 50회 이상이다.
4 / NHN-숭실대 산학 협업 교육
나의 가족
5 / NHN-숭실대 산학 협업 교육
강의 목표
웹 애플리케이션 기반 기술 요소 및 개발 환경 이해
Spring 프레임워크의 기반 기술 요소 이해
Spring 프레임워크를 활용한 웹 애플리케이션 개발 방법
둘째 날
셋째 날
개발 환경 세팅
Spring 기본
Spring MVC
사용자 관리 시스템 개발
(실습)
Spring DI
Spring AOP
첫째 날
Spring JDBC
& Transaction
Spring Test
타이거 우즈의 묘기
8 / NHN-숭실대 산학 협업 교육
둘째 날
셋째 날
개발 환경 세팅
Spring 기본
Spring MVC
사용자 관리 시스템 개발
(실습)
Spring DI
Spring AOP
첫째 날
Spring JDBC
& Transaction
Spring Test
9 / NHN-숭실대 산학 협업 교육
JDK 6.0 설치
• 시스템 환경 변수 : JAVA_HOME 추가
• 환경 변수 : PATH : %JAVA_HOME%/bin 추가
• Dos Prompt : java version 확인
10 / NHN-숭실대 산학 협업 교육
Eclipse Europa 설치
• 압축을 풀면 설치 완료
• ECLIPSE_HOME 디렉토리의 eclipse.ini 파일
• -XX:MaxPermSize=128m 추가
• Workspace로 사용하고자하는 디렉토리에 Workspaces.zip 파일의 압축을
푼다.
11 / NHN-숭실대 산학 협업 교육
Perspective 위치 변경
우상 => 좌상
JAVA_HOME 설정
Code Template Import
Code Formatter Import
Enable Folding Inactive
Tomcat Server명 설정
Show Line Number
Dependency jar filtering
New Workspace
Junit Task Fast View 등록
Editor Template Import
Server Task Fast View 등록
Ant Task Fast View 등록
12 / NHN-숭실대 산학 협업 교육
CVS 서버 설정
…………..
Subversive 플러그인 설치 : SVN 플러그인
• Update Site
http://www.polarion.org/index.php?page=download&project=subversive
• Update Manager 이용
Help
=> Software Updates
=> Find And Install
=> Search for new features to install
• Subversive plugin :
http://download.eclipse.org/technology/subversive/0.7/update-site/
• Subversive :
http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/
13 / NHN-숭실대 산학 협업 교육
14 / NHN-숭실대 산학 협업 교육
JavaJiGi SVN Server 접근
• svn://www.javajigi.net/javajigi
• Id : anonymous, Password : 없음
15 / NHN-숭실대 산학 협업 교육
프로젝트 Workspace 공유
• SVN Server에서 javajigi-env Checkout
• build.properties.sample 파일을 build.properties로 Rename
• build.properties 파일 Local 개발환경으로 수정
• local.user.id
• eclipse.home
• project.workspace
16 / NHN-숭실대 산학 협업 교육
플러그인 설치
• Maven IDE : http://m2eclipse.codehaus.org/update/
• Spring IDE : http://springide.org/updatesite/
• Property Editors : http://propedit.sourceforge.jp/eclipse/updates/
• Quantum DB : http://quantum.sourceforge.net/update-site/
17 / NHN-숭실대 산학 협업 교육
18 / NHN-숭실대 산학 협업 교육
Tomcat 6.X 설치
• 시스템 환경 변수 : CATALINA_HOME 추가
19 / NHN-숭실대 산학 협업 교육
HsqlDB 설치
• SVN Server에서 SFL2008 Checkout
• sfl2008/db/hsqldb 디렉토리의 server.bat 실행
20 / NHN-숭실대 산학 협업 교육
WTP 세팅
• SVN Server에서 Template Project Checkout
• WTP 세팅 및 실행
21 / NHN-숭실대 산학 협업 교육
WTP 세팅
• JDK 6.0 설정 추가
• Tomcat Server 추가
22 / NHN-숭실대 산학 협업 교육
둘째 날
셋째 날
개발 환경 세팅
Spring 기본
Spring MVC
사용자 관리 시스템 개발
(실습)
Spring DI
Spring AOP
첫째 날
Spring JDBC
& Transaction
Spring Test
23 / NHN-숭실대 산학 협업 교육
사용자 관리 시스템 요구사항 분석
• Spring 프레임워크 워크북 : 26 – 30 Page
24 / NHN-숭실대 산학 협업 교육
Spring
Dependency Injection
Spring JDBC
단순 CRUD
• Business Layer
• Persistence Layer
27 / NHN-숭실대 산학 협업 교육
28 / NHN-숭실대 산학 협업 교육
29 / NHN-숭실대 산학 협업 교육
30 / NHN-숭실대 산학 협업 교육
• 같은 사용자 ID를 추가할 수 없다.
• 반복적인 단위 테스트가 가능해야 한다.
31 / NHN-숭실대 산학 협업 교육
Model 1 View 구현
32 / NHN-숭실대 산학 협업 교육
web.xml에 Spring 설정
<web ...>
....
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
....
</web>
33 / NHN-숭실대 산학 협업 교육
UserServiceHelper.java
public class UserServiceHelper {
private static final String USERSERVICE_BEANID = "userService";
public static UserService getUserService(ServletContext ctx) {
WebApplicationContext wac = WebApplicationContextUtils
.getRequiredWebApplicationContext(ctx);
return (UserService) wac.getBean(USERSERVICE_BEANID);
}
}
34 / NHN-숭실대 산학 협업 교육
1
사용자 관리 시스템
Logging 기능 추가
35 / NHN-숭실대 산학 협업 교육
36 / NHN-숭실대 산학 협업 교육
37 / NHN-숭실대 산학 협업 교육
38 / NHN-숭실대 산학 협업 교육
Spring Transaction
• 4명 이상의 관리자를 추가할 수 없다.
40 / NHN-숭실대 산학 협업 교육
Transaction 설정 추가
<tx:annotation-driven />
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
p:dataSource-ref="dataSource" />
41 / NHN-숭실대 산학 협업 교육
Spring MVC
Model 2 View 구현
43 / NHN-숭실대 산학 협업 교육
web.xml에 Spring 설정
<web ....>
....
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
....
</web>
44 / NHN-숭실대 산학 협업 교육
Q&A
45 / NHN-숭실대 산학 협업 교육
Thank you.