3. Spring 프레임워크의 IoC 컨테이너 개념

Slides:



Advertisements
Similar presentations
㈜유니윌취업연수프로그램. 신성장동력훈련 4 회사소개 1 청년취업아카데미 2 SW 융합 채용연수 사업 3 취업현황 5 Contents.
Advertisements

성공적 취업을 위한 청년취업아카데미 과정 소개 2012 년 4 월 청년취업아카데미 사업 소개 (1) 학부졸업 최소 70% ~100% 취업 최소 70% ~100% 취업 전국 대학의 학부 졸업 후 취업률 약 60% 청년취업아카데미 를 통한 맞춤형 취업교육프로그램.
성공적 취업을 위한 청년취업아카데미 과정 소개 2012 년 06 월 청년취업아카데미 사업 소개 (1) 학부졸업 최소 70% ~100% 취업 최소 70% ~100% 취업 전국 대학의 학부 졸업 후 취업률 약 60% 청년취업아카데미 를 통한 맞춤형 취업교육프로그램.
01 빼앗긴 들에도 봄은 오는가 2. 한국 문학의 역사와 갈래 [4] 근·현대 문학(1)-일제 강점기 문학 작가 소개
- SW_Desing Study Group -
2009년 IT인재개발원 [연수생 모집요강]
고급자바프로그래밍 (Advanced Java Programming)
UML의 모델링의 본질 다이어그램으로 쉽게 보이는 UML
Spring MVC ㅇ 스프링 MVC 구성요소 설명 DispatcherServlet 클라이언트의 요청을 컨트롤러에게 전달하고
Introduction to Servlets
백기선 Advanced bean wiring 백기선
APPEON SOLUTION INTRODUCTION.
JPetStore 분석자료 1.0 Spring framework 작성자 : 김태완.
팀 명: Con Spirito 팀 원: 경주리 김다정 김소담 최은미
3장. 웹 어플리케이션과 JSP 및 Servlet의 이해 제3장.
Chapter 01 : Java EE 개요. chapter 01 : Java EE 개요.
TDD Junit TDD & Spring Framework 참고자료
Power Java 제4장 자바 프로그래밍 기초.
객체 지향 원리 송치형.
1강 01장. 웹과 자바.
Chapter 01 : Java EE 개요. chapter 01 : Java EE 개요.
IOC, DI 2015 Web Service Computing.
백기선 Springing into action 백기선
임베디드 프로그래밍 Lecture #
AOP 개념 및 Spring의 AOP 기능.
10강. AOP(Aspect Oriented Programming)-II
Chapter 15 : Struts 프레임워크 1. chapter 15 : Struts 프레임워크 1.
DataScience Lab. 박사과정 김희찬 (월)
5강. DI활용 의존 관계 DI사용에 따른 장점 Lecturer Kim Myoung-Ho Nickname 블스
JSP와 자바 빈즈 JSP 빈즈 구조를 이해하고 활용한다. useBean 액션 활용법을 익힌다.
전자정부 표준프레임워크 호환성 가이드 전자정부 표준프레임워크 운영유지보수 사업단.
28강. MVC패턴을 이용한 게시판 만들기-II FrontController 만들기 Command 만들기
웹 애플리케이션 개발 프레임워크와 스트러츠 웹 애플리케이션 기술 변천사를 이해한다
Visual Basic 기초 1 목표: 컴퓨터기반제어에 관련된 학습을 하기 전에 Visual Basic의 기초를 살펴본다.
27강. MVC패턴을 이용한 게시판 만들기-I MVC패턴의 이해 전체적인 컴포넌트 설계 DB(DataBase) 생성
웹 애플리케이션 로깅 및 오류 처리 기법 웹 애플리케이션 로깅의 필요성을 이해한다 로깅의 분류 및 구현 방안을 학습한다
컴퓨터 소프트웨어 설계 및 실험 년 1학기 실험계획 -.
2강. 스프링 프로젝트 만들기 이클립스에 스프링 프로그인 설치(STS) 처음 만들어 보는 스프링 프로젝트
객체 지향 프로그래밍.
컴퓨터응용과학부 Java Enterprize(DB) 제 7 주
AOP (Aspect Oriented Programing)
DataScience Lab. 박사과정 김희찬 (월)
자바의 신 Volume 1 1부(1~3장) 자바의 신 메인 홈 : 자바의 신 페이스북: 자바의 신 문제 풀이 :
인터렉티브(interactive) 주문창
Spring 프레임워크의 이해 2. Spring Introduction.
Spring 프레임워크의 이해 – day2 자바지기.
Spring 프레임워크의 이해 1.Architecture.
Spring 프레임워크의 이해 – day1 자바지기.
Spring 프레임워크의 이해 3. Spring IoC 이해 및 활용.
김 정 석 Web Programming 김 정 석
컴퓨터 소프트웨어 설계 및 실험 년 1학기 실험계획 -.
NTAS 소개 (Network Transaction Application Server)
SpringFramework 중간고사 요약 REST by SpringFramework.
Spring DI 이해 및 활용.
예술치료 실습보고서 미술치료 음악치료 모래상자치료 연극치료 학 교 : 백석대학원 학 과 : 특수심리치료
3장. 웹로직 서버에서의 서블릿과 JSP의 운용 3-1. 서블릿, JSP를 실행하기 전의 환경 설정
Internet Computing KUT Youn-Hee Han
Spring Framework 플랫폼개발실 김광욱
Chapter 08 : 서블릿 고급3. chapter 08 : 서블릿 고급3 학습목표 서블릿 속성과 Scope ServletContext HttpSession HttpServletRequest Filter API 요청 필터 응답 필터 url-pattern 8 가지.
Spring Security 2015 Web Service Computing.
5.2 트랜잭션 서비스 추상화.
전자정부 표준프레임워크 호환성 가이드 (사)오픈플랫폼 개발자커뮤니티.
JSP와의 첫 만남 간간한 JSP 프로그램을 작성하면서 앞으로 학습에 필요한 과정을 익힌다.
Index.html example.xml test.action .class.java test.ibatis.
권효중 iBATIS.NET & Spring.NET 권효중
Architecture.
Spring Introduction.
2. 아키텍처 상에서 Spring 프레임워크가 차지하는 위치
Model2.
Java의 정석 제 7 장 객체지향개념 II-3 Java 정석 남궁성 강의
Presentation transcript:

3. Spring 프레임워크의 IoC 컨테이너 개념

Spring Framework - Introduction IoC : Inversion of Control AOP : Aspect Oriented Programming IoC(또는 DI) AOP Abstract API (JDBC, EJB등)

Spring Framework - Introduction

Spring Framework - Introduction Spring Core : Spring 프레임워크의 근간이 되는 IoC(또는 DI) 기능을 지원하는 영역을 담당하고 있다. BeanFactory를 기반으로 Bean 클래스들을 제어할 수 있는 기능을 지원한다. Spring Context : Spring Core 바로 위에 있으면서 Spring Core에서 지원하는 기능외에 추가적인 기능들과 좀 더 쉬운 개발이 가능하도록 지원하고 있다. 또한 JNDI, EJB등을 위한 Adaptor들을 포함하고 있다. Spring DAO : 지금까지 우리들이 일반적으로 많이 사용해왔던 JDBC 기반하의 DAO개발을 좀 더 쉽고, 일관된 방법으로 개발하는 것이 가능하도록 지원하고 있다. Spring DAO를 이용할 경우 지금까지 개발하던 DAO보다 적은 코드와 쉬운 방법으로 DAO를 개발하는 것이 가능하다. Spring ORM : Object Relation Mapping 프레임워크인 Hibernate, IBatis, JDO와의 결합을 지원하기 위한 기능이다. Spring ORM을 이용할 경우 Hibernate, IBatis, JDO 프레임워크와 쉽게 통합하는 것이 가능하다.

Spring Framework - Introduction Spring AOP : Spring 프레임워크에 Aspect Oriented Programming을 지원하는 기능이다. 이 기능은 AOP Alliance 기반하에서 개발되었다. Spring Web : Web Application 개발에 필요한 Web Application Context와 Multipart Request등의 기능을 지원한다. 또한 Struts, Webwork와 같은 프레임워크의 통합을 지원하는 부분을 담당한다. Spring Web MVC : Spring 프레임워크에서 독립적으로 Web UI Layer에 Model-View-Controller를 지원하기 위한 기능이다. 지금까지 Struts, Webwork가 담당했던 기능들을 Spring Web MVC를 이용하여 대체하는 것이 가능하다. 또한 Velocity, Excel, PDF와 같은 다양한 UI 기술들을 사용하기 위한 API를 제공하고 있다.

Spring Framework - IoC DP IoC Setter Inj DI Constructor Inj Method Inj IoC : Inversion of Control DI : Dependency Injection DP : Dependency Pull EJB Spring DP IoC Setter Inj DI Constructor Inj Spring PicoContainer Method Inj

Spring Framework - IoC public class MovieLister{ public void list() { MovieFinder finder = new MovieFinderImpl(); }

Spring Framework - IoC public class MovieLister{ public void list() { MovieFinder finder = Assember.getBean("movieFinder"); }

Spring Framework - IoC Spring은 하나의 프레임워크이다. 그런데 왜 Spring 컨테이너, IoC 컨테이너라는 말을 사용할까? 컨테이너란 무엇일까?

Spring Framework - IoC Servlet Container Servlet의 생성, 생성 후 초기화, 서비스 실행, 소멸에 관한 모든 권한을 가지면서 Servlet의 생명주기를 관리한다. 개발자들이 직접 Servlet을 생성하고 서비스하지는 않는다. JSP/Servlet 접근 권한, 에러 처리에 대한 추가적인 기능도 지원한다. Service Init Create Destory Servlet Container Servlet A Servlet B Servlet C Servlet D

Spring Framework - IoC EJB Container EJB(세션빈, 엔티티빈, MDB)의 생성, 생성 후 초기화, 서비스 실행, 소멸에 관한 모든 권한을 가지면서 EJB의 생명주기를 관리한다. 개발자들이 직접 EJB 생성하고 서비스할 수 없다. Transaction, Security, EJB Pooling등의 추가적인 기능을 제공하고 있다. Service Init Create Destory EJB Container EJB A EJB B EJB C EJB D

Spring Framework - IoC IoC(또는 DI) Container POJO의 생성, 초기화, 서비스 소멸에 관한 모든 권한을 가지면서 POJO의 생명주기를 관리한다. 개발자들이 직접 POJO를 생성할 수도 있지만, 모든 권한을 Container에게 맡긴다. Transaction, Security 추가적인 기능을 제공한다. AOP 기능을 이용하여 새로운 Container 기능을 추가하는 것이 가능하다. Service Init Create Destory IoC(또는 DI) Container POJO A POJO B POJO C POJO D

POJO(Plain old Java Object)란 무엇인가? Spring Framework - IoC POJO(Plain old Java Object)란 무엇인가? Servlet과 EJB와 같이 특정 API에 종속적이지 않은 모든 자바 클래스. 일반적으로 우리들이 흔히 이야기하는 자바빈은 모두 POJO라고 이야기할 수 있다.

Spring Framework - IoC

Spring Framework - IoC BeanFactory를 이용하여 초기화를 진행할 때

ApplicationContext를 이용하여 초기화를 진행할 때

Spring Framework - IoC 실습 Bean Factory : Spring이 DI를 지원하기 위한 API 간단한 Hello World 예제 : http://wiki.javajigi.net/pages/viewpage.action?pageId=1004 다양한 Type의 인자를 Injection하는 예제 : http://wiki.javajigi.net/pages/viewpage.action?pageId=1009 Bean Naming을 이해할 수 있는 예제 : http://wiki.javajigi.net/pages/viewpage.action?pageId=1032 Singleton과 Non-Singleton을 설정하기 위한 예제 : http://wiki.javajigi.net/pages/viewpage.action?pageId=1033 각 Bean들을 Auto-Wiring으로 엮는 예제 : http://wiki.javajigi.net/pages/viewpage.action?pageId=1014 Bean 상속 : http://wiki.javajigi.net/pages/viewpage.action?pageId=1035

Spring Framework - IoC 실습 Advanced 기능 Spring 프레임워크 개발 전략 Bean의 LifeCycle을 이해하기 위한 예제 : http://wiki.javajigi.net/pages/viewpage.action?pageId=1040 ApplicationContext에 의하여 지원되는 간단한 Event Mechanism : http://wiki.javajigi.net/pages/viewpage.action?pageId=1058 MessageSource를 사용하여 국제화 기능 지원 : http://wiki.javajigi.net/pages/viewpage.action?pageId=1054 자바빈 Property Editors : http://wiki.javajigi.net/pages/viewpage.action?pageId=1047 FactoryBean을 사용해야하는 경우와 사용예제 : http://wiki.javajigi.net/pages/viewpage.action?pageId=1044 Spring 프레임워크 개발 전략 Spring의 Bean Definition 설정 파일 관리 전략 : http://wiki.javajigi.net/pages/viewpage.action?pageId=1037 Spring 프레임워크에서의 테스트 전략 : http://wiki.javajigi.net/pages/viewpage.action?pageId=1039

Spring Framework - IoC 온라인 문서 도서 Spring Core API 및 IoC(DI) : http://wiki.javajigi.net/pages/viewpage.action?pageId=281 Inversion of Control Containers and the Dependency Injection pattern : http://martinfowler.com/articles/injection.html Spring Reference 문서 : http://static.springframework.org/spring/docs/1.2.x/reference/index.html 도서 Pro Spring : http://kangcom.com/common/bookinfo/bookinfo.asp?sku=200502280029 Java Development with the Spring Framework : http://kangcom.com/common/bookinfo/bookinfo.asp?sku=200507040005