2013년 9월 16일 월요일

[Spring Fraemwork3.2 스프링3강좌]스프링 개요, 특징

[Spring Fraemwork3.2 스프링3강좌]스프링 개요, 특징 , 다음은 스프링 프레임워크 전반에 걸친 개요/특징을 소개 하겠습니다.


오라클자바커뮤니티에서 설립한 개발자교육6년차 오엔제이프로그래밍 실무교육센터
(오라클SQL,튜닝,힌트,자바프레임워크,안드로이드,아이폰,닷넷 실무개발강의)  

1.     제어역행(IoC) , 의존성주입(DI)
스프링 프레임워크는 IoC(Inversion Of Control)를 기반으로 하는데 이 제어의 역행이란 자바프로그램 내부에서 다른 클래스를 이용할 때 사용하던 기존의 new를 이용한 방법을 이용하지 않고 외부인스턴스를 이용하여 런타임 시점에 다른 클래스의 객체를 취할 수 있다는 것 입니다. 이를 마틴 파울러가 의존성 주입(Depandency Injection)이라는 이름으로 고쳐 부르게 되어 사용되고 있습니다.
스프링을 DI 제공자로 사용하게 되면 여러 방법으로 런타임 중에 다른 클래스의 객체를 취할 수 있습니다. (외부 XML 파일, 스프링 자바 설정 파일, 해당 자바코드 내에서 사용되는 annotation)
2.     관점지향 프로그래밍(Aspect Oriented Programming)
AOP는 아주 중요한 프로그래밍 모델 중 하나로 주로 공통로직(application에서 공통적으로 적용되는 부분 예를들면 로깅등) 을 한곳에서 구현하고 이 로직을 애플리케이션의 전 영역에 자동으로 적용될 수 있도록 합니다.
스프링의 AOP 접근 방법은 타겟 객체에 대한 “동적프록시”를 생성하고 설정된 어드바이스를 사용하여 객체를 위빙(Weaving) 함으로써 공통 로직을 수행 합니다.
또 다른 인기있는 AOP 라이브러리는 이클립스 AspectJ 프로젝트(www.eclipse.org/aspectj)인데 객체생성, 클래스로딩 등 더 강력한 기능을 제공 합니다.
스프링은 2.0에서부터 AspectJ와 강력한 연동을 제공하는데 기능은 다음과 같다.
-       AspectJ 방식의 포인트컷 표현식 지원
-       스프링 AOP를 위빙에 사용하면서 동시에 @AspectJ 애노테이션 지워
-       AspectJ에 구현된 애스펙트를 통한 DI지원
-       스프링 ApplicationContext 내에서 로드시점 위빙 지원
    두 AOP 모두 자기 용도가 있는데 대부분의 경우 spring AOP를 통해 가능하며 좀 더 복잡한
 요구사항을 위해 AspectJ를 사용하는데 이 둘은 혼용해서 사용할 수 있습니다.
3.     스프링 표현 언어(SpEL)
표현언어는 런타임 시점에 자바 객체를 가져다 쓸 수 있도록 하는 기술인데 많은 표현언어가 있어 개발자들은 복잡 하기만 하죠. 예를 들면 JSP와 JSF(Java Server Face) 역시 자신의 표현언어를 가지고 있고 구문 역시 다릅니다. 이를위해 스프링에서는 3.0 이후 통합 표현언어인 SpEL을 발표하였고 이 SpEL은 런타임 시점에 표현식을 해석하고 자바 빈과 스프링 빈에 접근하는 기능을 제공 합니다.
4.     스프링의 유효성 검증
유효성검증의 가장 이상적인 시나리오는 데이터 처리요청이 프론트에서 오든, 배치작업에서 오든, 원격(웹 서비스, RESTful 웹서비스, RPC등)에서 오든 관계없이 자바 빈내의 프로퍼티에 대한 유효성 검증을 일관되게 적용하는 것 입니다.
이에 따라 JCP는 빈 유효성 검증 API명세(JSR-303)를 만들었는데 빈 유효성 검증을 위한 표준을 제공합니다. 예를 들면 @NotNull 애노테이션을 빈의 프로퍼티에 추가하면 DB에 저장하기 전에 이 프로퍼티는 NULL 값을 포함할 수 없게 됩니다.
    Spring framework 3.0 부터 JSR-303을 지원하는데 사용하기 위해서는 ValidatorFactoryBean을
선언하고 Validator 인터페이스를 아무 스프링 관리 빈에 주입하면 됩니다. 그러면 스프링이 내부 구현체를 알아서 리졸브 해 주죠…기본적으로 스프링에선 JSR-303 구현체인 하이버네이트 밸리데이터를 찾아서 사용합니다.
5.     Spring 데이터 접근
Spring 3.X에서는 데이터 접근을 위해 JDBC, hibernate, Mybatis(구 iBATIS), JDO(자바 데이터 객체) 자바 영속성 API(JPA)를 지원 합니다.
6.     Spring 객체/XML 매핑(OXM)
흔히 타 시스템과 데이터를 주고 받게 되는데 데이터 사용형식은 대부분 XML 입니다. 그 결과 자바 빈을 XML로 XML을 자바 빈으로 변환하고자 하는 요구사항이 생기게 되었는데, 스프링은 각종 자바-XML 매핑 프레임워크를 지원합니다. 마샬링(자바비을 XML로), 언마샬링(XML을 자바 빈으로)을 위한 공통 인터페이스를 제공하고 임의의 스프링 빈에 주입할 수 있게 해주는데 XML 바인딩을 위한 자바 API(JAXB), 캐스터, XStream, XMLBean과 같은 라이브러리를 지원합니다.
7.     트랜잭션 관리
Spring에서는 트랜잭션 관리를 위한 추상 레이어를 제공 함으로서 개발자가 프로그래밍적, 또는 선언적으로 트랜잭션을 제어할 수 있게 해 줍니다. 스프링의 이러한 기능을 이용하면 내부 트랜잭션 프로토콜과 리소스 관리자를 쉽게 바꿀 수 있으며 소스코드를 바꾸지 않고 로컬, 특정 리소스 관련 트랜잭션부터 시작해 전역, 멀티리소스 트랜잭션 관리까지 적용할 수 있습니다.
8.     웹티어의 MVC
웹 애플리케이션을 개발할 때 MVC 패턴을 가장 많이 이용하는데 3.X 버전을 통해 스프링은 간단한 웹프레임워크에서 완전한 MVC 구현체로 변신을 했습니다. 먼저 스프링의 MVC 뷰지원 기능은 방대 합니다. JSP 표준 지원 뿐 아니라 아파치 벨로시티, 프리마커, 아파치 타일즈, XSLT와의 연동을 완벽히 지원하며 엑셀과 PDF 포맷을 지원하기 위한 기본 뷰 클래스군도 지원 합니다.
9.     스프링 리모팅 지원
스프링의 리모팅 지원 기술을 이용하면 원격서비스에 쉽게 접근하고 원격 서비스를 노출할
수 있습니다. JAVA RMI, JAXRPC, Caucho Hessian, Caucho Burlap 등 다양한 리모트 접근 메커
니즘을 지원하고 있으며 이들 리모팅 프로토콜 외에 표준 자바 직렬화를 기반으로 자체 HTTP 호출자를 제공 합니다.
최근 많이 사용되는 리모트 기술은 RESTful 웹서비스이데 이 웹서비스의 결과값은 XML, JSON,
HTTP요청 헤더에 기술된 클라이언트 지원형식이 될 수 있습니다.
10 .기타 기능
스프링 DI 기능과 연동해서 이메일을 보낼 수 있는 메일 API를 지원하며 스케줄링을 위한 쿼츠(Quarts), JDK Timer API등도 지원 합니다. 또한 JDK6을 시작으로 자바는 동적 언어 지원 기능을 도입했는데 JVM에서 다른 언어로 만든 스크립트(그루비, 제이루비, 자바스크립트)를 실행 할 수 있게 해 줍니다.



[개강확정 강좌]

Spring3.X, MyBatis, Hibernate실무과정

강좌명
Spring3.X, MyBatis, Hibernate실무과정(평일야간)
교재
자체교재 or PDF 파일 제공
강좌 일정
09월26일(목) ~ 10월15일(화)((평일야간) 19:00~22:00, 12일) 총 36시간
강의 장소
[C강의장]구로디지털단지역2번 출구-> 미니스톱끼고 우회전 -> 100m 직진 후 골목길 끝에서 이마트방향 우회전 -> 50m 직진 후 우체국 옆골목으로 길건너서 직진 -> 150미터 직진 후 JnK 타워에서 우회전 -> 50미터 직진 후 우측에 코오롱빌란트2차 803호 (구로구 구로3동 222-8 코오롱디지털타워 빌란트2차 803호)
수강절차
- 강좌내용 확인
- 전화 또는 홈페이지(www.onjprogramming.co.kr)를 통한 수강지원 및 수강료 결제(무통장입금, 온라인 카드결제)
- 고용보험 가입자(재직자)인 경우 고용보험환급 관련 서류 제출
- 수강전 : 커리큘럼 및 장소에 대해 다시 한번 공지
- 교육 전 설문 작성(간단한 개발 경력, 수강 목적, 강좌진행방식 등)
- 강좌 수강
- 수강후 : 교육 후 설문 작성
수강료
590,000원
[고용주환급]대기업:14만원 전후, 중소기업:187,047 원환급

[개인수강지원(개인환급)]정규직 472,000 ,비정규직:전액환급
대기업(상시근로자 300인 이상 대기업)은 개인환급 불가합니다.

재직자 내일배움카드 : 정부지원금 80% 자기부담금 20%
(구 능력개발카드 명칭이 내일배움카드로 변경 / 연간 총한도 200만원)


* 휴강 :법정공휴일
수강료
입금안내
- 온/오프라인 카드결제, 계좌이체(수강안내->입금안내 참조)
문의사항
02-851-4790 번으로 연락 부탁 드립니다.
교육개요
본과정은 자바 웹개발에서 가장 많이 사용되고 있는 자바기반 프레임워크인 Spring3.2를 학습하는데 스프링이 왜 도입되어야 하는지부터, 기본모듈구성, 아키텍처 DI, DL, IoC, 최근 개발모델의 핵심인 Spring AOP, AspectJ Annotation, 표현언어인 SpEL, Spring MVC, Spring MVC TEST Framework, Spring WebFlow, Spring JDBC, Spring Transaction등 개발에 필요한 부분을 체계적으로 실습을 통해 학습하며 SQLMapper인 MyBatis, Hibernate 까지 학습하는 Spring 최고의 교육 입니다.

[특징]
- 실무/실습에 근거한 이론 취득
- 단기간에 스프링 개발자로 양성
- 문답씩 수업으로 수강 효과 극대화
- 이론/실습 과제로 인한 개발력 UP
교육목표
- Spring의 도입배경 및 아키텍처에 대해 이해한다.
(자바빈의 태동부터 EJB, 그리고 현재까지)
- Eclipse, Maven, STS 플러그인에 대한 이해
(개발환경 설정의 이해)
- Spring IoC(DI, DL)의 이해
(실습을 통한 setter,getter,constructor injection의 이해)
- Spring AOP의 이해
(실습을 통한 Spring AOP의 이해, AOP어렵지 않습니다)
- AspectJ Annotation에 대한 이해
(Spring의 AspectJ 지원 및 Annotation 대한 이해 by 실습)
- Spring Web MVC, JDBC의 이해
(실습을 통한 Spring MVC, JDBC의 이해)
- Spring Controller에 대한 이해
(간단한 Controller의 구현을 통한 MVC Font Contrller의 이해)
- Spring Web Flow에 대한 이해
(실습을 통한 Spring Web Flow 및 JSF에 대한 이해)
- SpEL에 대한 이해
(실습을 통한 Spring SpEL의 이해)
- Servlet3 비동기 요청에 대해 이해한다.
(실습을 통한 비동기 서블릿에 대한 이해)
- MyBatis Mapper에 대해 이해한다.
(실습을 통한 MyBatis 구성, 작동원리 이해)
- Hibernate Mapper에 대해 이해한다.
(실습을 통한 Hibernate 구성, 작동원리 이해)
- 실무 개발 환경에 적응력 UP
(Spring, MyBATIS 기반 게시판 작성)
교육대상
- JAVA, JSP 개발자
- 자바개발은 오래 했지만 프레임워크에 대해 자신이 없는 개발자
- 단기간에 스프링을 박살 내고 싶은 개발자.
(스프링 혼자 공부하기는 어렵습니다!!)
선수학습
- JAVA, JSP

Spring3.2
J2EE Framework에 대한 흐름과 Spring Framework에 대한 이해
개발 환경 설정(Eclipse4.3 KEPLER, Tomcat7, Spring3.2 다운로드 및 설치)
Maven, STS 플러그인 설치
Spring IoC
DL(Dependency LookUp) &DI(Dependency Injection)
Dependency Pull, CDL(Contaxtualized Lookup)
Setter/Constructor/Mathod Injection
Spring 설정
Spring AOP 란 ?Code, Advice, JoinPoint, PointCut, Aspect, WeavingProxyFactoryBean
Annotation기반 AOP(AspectJ)
기타 Spring의 선언적 AOP 선언
Spring JDBC
Spring MVC
Spring Controller
Spring Webflow, JSF
Spring 표현언어 SpEL
Servlet3 비동기 요청처리
Spring3.2 Transaction 관리
Spring MVC TEST Framework
MyBatis/hibernate
[MyBatis]
개요 및 소개
개발환경 설정 및 설치
Data Mapper란
sqlMapConfig 이해 및 환경설정
Spring, MyBatis 연동
SQL Map XML File 이해 
SqlMapClient 이해 
SQL의 실행(Insert/update/delete) 이해와 실습
고급 쿼리 사용방법의 이해와 실습 
Spring MyBatis 응용예제 작성

[Hibernate]
Hibernate 소개
SessionFactory 설정
1:1, 1:다 매핑
Session Interface
Hibernate DML



댓글 없음:

댓글 쓰기