본문 바로가기

Computer Science/Theory-Java[Spring]3

3. 스프링의 핵심 - AOP 이번에는 Spring에서의 또 다른 핵심 기능 중 하나인, AOP에 대해 설명하려 합니다. 프로그램의 일반적인 흐름은, 요청 하나를 실행하기까지 일관적인 서비스흐름으로 진행됩니다. 즉 수평적으로 진행되지요.. 그러나 일반적인 흐름과 다른서비스 흐름이 필요하여, 독립적인 모듈화가 불가능한 상황이 있습니다. 로그인(Login)이나 트랜젝션(Transaction)과 같은 상황처럼 기본 로직흐름과는 다른 부가적인 서비스가 그 대표적인 예입니다. 그리고 이런 로직을 Aspect라하며, 본 로직과 다르게 모듈화하여 관리하기 위한 프로그래밍 기법이 AOP(Aspect Oriented Programming)입니다. AOP, 즉 관점지향 프로그래밍에 대한 자세한 설명은 다음링크를 참고하세요. 관점지향프로그래밍 패러다임 .. 2016. 6. 29.
2. 스프링의 핵심 - IoC / DI Spring의 핵심 2가지를 꼽자면, IoC/DI와 AOP를 말할 수 있습니다. 그 중, 이번 포스팅에서는 IoC와 DI에 대해서 설명하고자 합니다. IoC는 Inversion of Control의 약자로, 말 그대로 제어를 역전한다는 의미입니다.일반적인 프로그램에서는 필요 모듈을 위해 작은 부품들이 하나씩 생성되어 의존되는 관계를 띄게 됩니다.제품 > 부품 1 > 부품 2 > 부품 3 이런식으로요. 그러나 Spring같은 경우 부품들이 사전에 생성된 후, 필요한 부품들로 조립하여 제품이 완성되는 식으로 수행됩니다.즉, 제품 < 부품 1 < 부품 2 < 부품 3 이런식으로 진행됩니다. 이러한 서비스 흐름을 IoC라고 합니다. DI는 Dependency Injection의 약자로, 의존성 주입이라 합니다... 2016. 6. 29.
1. 스프링의 시작 스프링(Spring Framework)이란 : 자바(JAVA) 플랫폼을 위한 오픈소스(Open Source) 애플리케이션 프레임워크(Framework) 1) 경량 컨테이너로서 자바 객체를 직접 관리. 각각의 객체 생성, 소멸과 같은 라이프 사이클을 관리하며 스프링으로부터 필요한 객체를 얻어올 수 있다. 2) 스프링은 POJO(Plain Old Java Object) 방식의 프레임워크. 일반적인 J2EE 프레임워크에 비해 구현을 위해 특정한 인터페이스를 구현하거나 상속을 받을 필요가 없어 기존에 존재하는 라이브러리 등을 지원하기에 용이하고 객체가 가볍다. 3) 스프링은 제어 반전(IoC : Inversion of Control)을 지원. 컨트롤의 제어권이 사용자가 아니라 프레임워크에 있어서 필요에 따라 스.. 2016. 6. 27.