본문 바로가기

Spring/Spring Programming

[Spring] 스프링 프레임 워크란?

반응형

스프링 프레임 워크란?


 -. 스프링(Spring)은 간단히 말하면 엔터프라이즈 어플리케이션에서 필요로 하는 기능을 제공하는 프레임 워크이다.

 -. 스프링은 JEE(Java Enterprise Edition)가 제공하는 다수의 기능을 지원하기 때문에, JEE를 대체하는 프레임워크로 자리잡고 있다.

 -. 실제 스프링은 JEE가 제공하는 다양한 기능을 제공하는것 뿐만 아니라 DI(Dependency Injection)나 AOP(Aspect Oriented Programming)와 같은

    기능도 지원하고 있다.

 -. 스프링은 자체적으로 MVC 프레임워크를 제공하고 있다. 따라서, 스프링만 사용해도 MVC 기반의 웹 어플리케이션을 어렵지 않게 개발할 수 있다.

 -. 스트럿츠2, JSF아 같은 프레임워크와의 연동을 지원하고 있기 때문에 이들 프레임워크에서 스프링이 제공하는 다양한 기능을 사용할 수 있다.


① 스프링은 경량 컨테이너다. 스프링은 자바 객체를 담고 있는 컨테이너다. 스프링 컨테이너는 이들 자바 객체의 생성, 소멸과 같은 라이프 사이클을 관리하며,

   스프링 컨테이너로부터 필요한 객체를 가져와 사용할 수 있다.

② 스프링은 DI(Dependency Injection)를 지원한다. 스프링은 설정 파일이나 어노테이션을 통해서 객체 간의 의존 관계를 설정할 수 있도록 하고 있다.

   따라서, 객체는 의존하고 있는 객체를 직접 생성하거나 검색할 필요가 없다.

③ 스프링은 AOP(Aspect Oriented Programming)를 지원한다. 스프링 자체적으로 AOP를 지원하고 있기 때문에 트랜재견이나 로깅, 보안과 같이 모듈에서 공통으로

   필요로 하지만 실제 모듈의 핵심은 아닌 기능들을 분리해서 각 모율에 적용할 수 있다.

④ 스프링은 POJO(Plain Old Java)를 지원한다. 스프링 컨테이너에 저장되는 자바 객체는 특정한 인터페이스를 구현하거나 클래스를 상속받지 않아도 된다.

   따라서, 기존에 작성한 코드를 수정할 필요 없이 스프링에서 사용할 수 있다.

⑤ 스프링은 트랜잭션 처리를 위한 일관된 바업을 제공한다. JDBC를 사용하든, JTA를 사용하든, 또는 컨테이너가 제공하는 트랜잭션을 사용하든, 설정 파일을 통해

   트랜잭션 관련 정보를 입력하기 때문에, 트랜잭션 구현에 상관없이 동일한 코드를 여러 환경에서 사용할 수 있다.

⑥ 스프링은 영속성과 관련된 다양한 API를 지원한다. 스프링은 JDBC를 비롯하여 iBATIS, 하이버네이트, JPA등 데이터베이스 처리를 위해 널리 사용되는

   라이브러리와의 연동을 지원하고 있다.

⑦ 스프링은 다양한 API에 대한 연동을 지원한다. 스프링은 JMS, 메일, 스케줄링 등 엔터프라이즈 어플리케이션을 개발하는데 필요한 다양한 API를 설정 파일과

   어노테이션을 통해서 손쉽게 사용할 수 있도록 지원하고 있다.



반응형