스프링 프레임워크(Spring Framework)

💜poiuyy0420·2021년 1월 12일
0

Spring

목록 보기
1/2
post-thumbnail

위키백과

🌈 프레임워크는 무엇이고, 자바기반의 스프링 프레임워크는 무엇일까?

프레임워크

프레임워크(Framework)의 사전적 의미는 뼈대 혹은 틀로서 이 의미를 소프트웨어 관점에서 접근하면 아키텍처에 해당하는 골격 코드이다.

개발을 할 때, 가장 중요한 것이 전체 애플리케이션의 구조를 결정하는 아키텍처다. 이 아키텍처에 해당하는 골격코드를 프레임워크가 제공한다.
즉, 개발자에게 모든 것을 위임하는 것이 아니라 애플리케이션의 기본 아키텍처는 프레임워크가 제공하고, 그 뼈대에 살을 붙이는 작업을 개발자가 하는 것이다.


스프링

스프링 프레임워크(Spring Framework)는 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크로서 간단히 스프링(Spring)이라고도 한다.

스프링의 특징

1. 경량(Lightweight)

스프링은 여러 개의 모듈로 구성되어 있으며, 각 모듈은 하나 이상의 JAR 파일로 구성되어 있으며 JAR 파일만 있으면 개발과 실행이 모두 가능하다. 프레임워크가 POJO(Plain Old Java Object)형태의 객체를 관리하기 때문이다.

2. 제어의 역행(Inversion of Control)

스프링은 제어의 역행을 통해 애플리케이션을 구성하는 객체 간의 느스한 결합, 즉 낮은 결합도를 유지한다. IoC가 적용되면 객체 생성을 자바 코드로 직접 처리하는 것이 아니라 컨테이너가 대신 처리한다. 그리고 객체와 객체 사이의 의존관계 역시 컨테이너가 처리한다.

3. 관점지향 프로그래밍(Aspect Oriented Programming, AOP)

공통으로 사용하는 기능들을 외부의 독립된 클래스로 분리하고, 해당 기능을 프로그램 코드에 직접 명시하지 않고 선언적으로 처리하여 적용하는 것이 관점지향 프로그래밍의 기본 개념이다. 이렇게 되면 공통 기능을 분리하여 관리할 수 있으므로 응집도가 높은 비즈니스 컴포넌트를 만들 수 있을 뿐만 아니라 유지보수를 향상시킬 수 있다.

4. 컨테이너(Container)

컨테이너의 사전적 의미는 무언가를 담는 용기, 즉 그릇을 의미한다.
컨테이너는 특정 객체의 생성과 관리를 담당하며 객체 운용에 필요한 다양한 기능을 제공한다. 컨테이너는 일반적으로 서버 안에 포함되어 배포 및 구동된다.


POJO

POJO(Plain Old Java Object)란 말 그대로 평범한 옛날 자바 객체를 의미한다. 특별한 제한에 종속되지 않고, 클래스 패스(class path)를 필요로 하지 않는 일반적인 Java Object이다. 대표적인 Not POJO 클래스가 Servlet 클래스이다. Servlet 클래스는 우리 마음대로 만들 수 없으며, 반드시 Servlet에 요구하는 규칙에 맞게 클래스를 만들어야 실행 할 수 있다.

profile
안녕하세요 :)

0개의 댓글