on
<스프링 프레임워크>
<스프링 프레임워크>
스프링 프레임워크
프레임워크는 어떤것을 구성하는 구조와 뼈대를 의미한다. 만들제품의 기능을 미리 클래스나 인터페이스 등으로 만들어 제공하는 반제품을 의미한다. 프레임 워크의 장점. 가이드가 있다. 스프링기반으로 당연히 구현을 해야한다. 특정 가이드와 기준에 따라서 개발이 이루어진다. 당연히 생산성이나 품질이 보장되기 쉽다. 개발 후에도 유지보수 기능의 확장성에서도 고품질을 보장한다.
스프링 프레임워크에 대한 정의를 해보겠다. 기업 애플리케이션을 이용해서 만든다. 증권, 은행, 보험, 이런것 거기에 숫자. 데이터가 복잡할 수 있는 요소를 만든다. 이것을 구현해서 이야기해보면. 이 부분에 대해서 대규모로 대규모는 데이터가 복잡하게 IO적으로 관리되고 있음을 알려준다. 이 데이터를 근간으로 해서 비즈니스 로직을 비즈니스 프로세스 지원 및 자동화를 한다. 그런것과 상관된 것이 엔터프라이즈어플리케이션이라고 할 수 있다. 비즈니스는 보안과 안정성, 확장성이 중요하다. 사용자가 사용할때 서비스가 안정되어야 하고 기간에 따른 확장하는 개념을 이해해야한다. 최근 기조는 다수의 사용자를 수용하고, 분산되어진 다른 기업의 애플리케이션과 통합, 통신도 고려해야한다.
기본적으로는 Java(EE)버전이 이러한 문제를 해결해주려고 하였다. EE버젼은 SE버젼을 포함하고 있으며, multi-tier(client, Middle, EIS)를 다 포함해서 개발환경을 제공하는 것을 의미한다. 엔터프라이즈 애플리케이션 개발환경 제공한다.
Java 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크이다. 전영역 포괄하는 범용적인 프레임워크이다.
스프링프레임워크의 컨테이너는 무언가를 담아서 보내는 역할을 한다. 톰캣을 예로들면 톰캣은 서블릿 컨테이너로 여길 수 있다. 톰캣을 실행하면 콤캣은 서블릿의 생성, 초기화, 서비스 실행, 소멸에 관한 모든 권한을 가지고 서블릿을 관리하기 때문에 서블릿 컨테이너라고 할 수 있다. 그러면 스프링은 어떤 역할을 할까? 스프링은 애플리케이션에서 사용되는 여러가지(클래스, 객체)를 개발자가 아니고 스프링이 생성하는 권한을 가진다. 기존까지는 개발자가 서블릿의 라이프 사이클을 관리하고 생성하였지만 이것을 스프링프레임워크가 대신 한다. 제어를 역전시킨다라고 한다.
스프링 프레임워크의 특징에 대해 알아보자. 과거에는 스프링을 EJB라고 불렀다. 마치 봄처럼 희망을 보여준다해서 Spring이라고 말하고 있다. EJB보다 가볍고 배우기도 쉬우며 경량 컨테이너의 기능을 수행한다. 제어역행 기술을 이용해서 IOC를 이용해 애플리케이션의 강한결합을 줄이는 것이다. 내가 만든 어떤 프로그램의 커플링이 느슨하게 제어하도록 한다. 의존성 주입 기능을 지원한다. 스프링 프레임워크는 IoC 기능도 지원한다.. AOP라는 (관점지향)을 이용해 자원을 관리하게 한다. 영속성과 관련된 다양한 서비스를 지원하기도 하고 다양한 라이브러리와의 연동기능이 있다.
앞으로 알아봐야 하는 용어는 IoC, AOP, DI이다.
from http://slowlystepbystep.tistory.com/87 by ccl(A) rewrite - 2021-12-28 13:27:43