티스토리 뷰

Spring Framework란?

Spring Framework는 Java 개발 환경에서 사용할 수 있는 오픈 소스 프레임워크이다.

기업이나 엔지니어에 따라서는 줄여서 Spring(스프링)이라고도 부른다.

 

원래 프레임워크란 소프트웨어나 애플리케이션 개발을 할 때 필요한 기능이나 기본적인 뼈대를 정리한 것으로

프로그래밍 언어에 따라 사용할 수 있는 종류가 다르다는 특징이 있다.

또 프레임워크마다 앱의 개발을 지원하는 Web 애플리케이션 프레임워크, 

기능성이나 조작성의 향상을 목적으로 한 유틸리티 쪽 프레임워크

2개로 구분하여 탑재되고 있는 기능도 여러가지이다.

 

그중에서도 Spring Framewrok는 Java언어의 웹 애플리케이션 프레임워크에 해당한다.

Java를 다루는 엔지니어들 사이에서는 사용되는 경우가 많은 프레임워크로

Spring Framework를 사용하여 어플리케이션 개발을 하는 기업도 적지 않다.

 

Spring Framework 특징

Spring Framework의 특징으로 AOP와 DI라고 불리는 개념으로 구축된 전용 테스트 프로그램이 등이 있다.

 

●AOP로 유지보수가 쉽다.

AOP란 「Aspect Orientation Programming」의 약자로 관점 지향 프로그래밍이라고 불린다.

간단하게 말해서 시스템 내에서 행해지는 같은 처리(공통 처리)를 추출해 집약을 하는 프로그래밍 수법으로

프로그램을 심플하게 정리할 수 있다.

코드를 짧고 알기 쉽게 함으로써 오류를 특정하기 쉽고, 프로그램 수정도 쉽다.

 

●DI로 수정이 용이하다.

DI란 「Dependency Injection」의 약자로 의존관계 주입이라고 한다.

예를 들어 두 개의 클래스가 존재하고 두 개의 클래스가 모두 의존관계에 있는 경우,

한쪽이 미완성이면 동작 테스트를 할 수가 없지만 Spring Framework를 사용하여 객체를 주입함으로써

클래스의 의존관계가 해소되고 동작 테스트를 수행할 수 있게 된다.

결과적으로 하나하나의 프로그램을 독립시키기 쉬워져서 시스템의 개발이나 유지보수가 편해지는 것이다.

 

●개발에 도움이 되는 테스트 프로그램이 있다.

개발한 시스템을 실시하기 위해서는 테스트가 필요하다.

하나하나 시스템을 통합했을 때 버그 검출을 할 수 있는 전용 테스트 프로그램이 있다.

개발한 시스템을 문제없이 처리할 수 있는지를 사전에 체크함으로써 버그를 최소화할 수 있게 된다.

또한 테스트 프로그램을 이용함으로써 일련의 처리가 문제없이 이루어지고 있는지 확인하고 개발을 진행할 수 있다.

 

Spring Framework의 개발환경

Spring Framework에서는 전용 종합개발 환경으로 STS(Spring Tool Suite)가 존재한다.

이건 자바 개발환경에 자주 사용되는 이클립스(Eclipse)를 기반으로 한 개발환경이다.

이클립스의 사양을 답습하면서 Spring Framework용으로 기능이 추가되어 있다.

Spring Framework와 마찬가지로 STS도 오픈소스이기 때문에 Spring 홈페이지에서 무료로 다운로드할 수 있음.

단, 사용하고 있는 자바의 버전에 따라서는 STS가 안될 수도 있기 때문에 설치를 할 때 먼저 자바 버전 확인 후 업데이트를 하는 것이 좋음..

 

Spring Framework의 장점

Spring Framwork는 웹 시스템, 웹서비스를 비롯해 클라우드 애플리케이션, 모바일 시스템 등 다양한 개발에 적합하다.

기능 확장성이 뛰어난 Spring Framework면 대규모 개발이나 세부 사양 변경에도 유연하게 대응이 가능하다.

 

또한 Spring Framework는 수많은 프로젝트로 구축되어 있어 만들고 싶은 시스템에 따라 프로젝트를 구분할 수 있다.

여기서 말하는 프로젝트란 복수의 프로그램을 기능이나 애플리케이션으로 정리한 것이라고 정의하고 있지만,

Spring Framwrok에 탑재되어 있는 프로젝트는 아래의 내용과 같다.

 

이름 특징
Spring Cloud 클라우드 애플리케이션 개발 및 구축에 특화된 프로젝트
Spring Security 보안 기능 개발을 지원하는 프로젝트
Spring Batch 데이터 집계처리와 같은 일괄처리 시스템 구축을 위한 프로젝트
Sprinng Session 세션 정보 관리를 위한 시스템 구축에 특화된 프로젝트

↑ 표에 적은 것 이외에도 Spring Framework에는 다양한 프로젝트가 존재하고 탑재된 기능도 각각 다르다.

자세한 내용은 https://spring.io/projects 사이트 참고하길 바람!

 

Spring Framework의 단점

앞서 언급했듯이 프로젝트가 풍부하고 폭넓은 개발을 할 수 있는 Spring Framework이지만

규모가 크기 때문에 전체를 파악하기 어려운 단점이 있다.

그렇기 때문에 다른 프레임워크와 비교를 해보면 Spring Framework는 난이도가 높다고 할 수 있다.

게다가 학습하는 비용(강의) 같은 것도 비싸며 습득 시간이 오래 걸린다.

프로그래밍 언어로 초보자들에게도 인기가 많은 Java이지만

고도의 지식이 없다면 Spring Framework는 다루기 힘들 수가 있다.

 

 

'개발언어 > Java' 카테고리의 다른 글

[Java] 자바의 기본개념  (0) 2022.04.18
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함