관리 메뉴

VivaButton

[스프링부트, Spring Boot]스프링 프레임워크 #2 본문

IT/스프링부트(Spring Boot)

[스프링부트, Spring Boot]스프링 프레임워크 #2

비바버튼 2019. 5. 1. 21:57
728x90

이전 포스팅에서는 스프링부트에 대해서 알아보기 전에 프레임워크의 이해와 필요성에 대해 알아보았습니다. 이번에는 스프링 프레임워크에 대해 알아보겠습니다.

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

스프링 프레임워크는 자바 기반의 애플리케이션 프레임워크입니다. 웹 애플리케이션 서버 사이드 개발 시 많이 사용되고, 웹 뿐만 아니라 많은 곳에서 사용됩니다. 스프링 홈페이지(https://spring.io/)에 들어가 보시면 상당히 많은 프로젝트가 있습니다. 우리나라 공공기관 웹서비스 개발 표준 프레임워크인 전자정부 프레임워크도 스프링 기반으로 개발되어 있습니다. 그만큼 스프링이란 프레임워크의 등장으로 자바 애플리케이션 프레임워크의 표준으로 자리잡은 걸로 보입니다. 또한 스프링이란 이름에서 알 수 있듯이 굉장히 탄력적인 프레임워크입니다.

 

스프링 핵심 기능

스프링의 핵심 기능은 다음과 같습니다. 

의존 주입(Dependency Injection)

관점지향 프로그래밍(AOP: Aspect-Oriented Programming)

스프링 MVC 웹 애플리케이션과 RESTful 웹 서비스 프레임워크(Spring MVC web application and RESTful web service framework)

JDBC, JPA, JMS 지원

 

스프링 모듈

스프링은 여러가지 모듈로 이뤄져 있어서 필요한 모듈만 구성하여 사용할 수가 있습니다. 정말 유용한 기능이 많지만 방대한 내용이 많아서 공부해야 할 난이도가 높아집니다.

 

스프링 부트(Spring Boot)

스프링 부트는 스프링의 여러가지 프로젝트 중 하나입니다. 스프링 부트는 단독 실행되는, 실행하기만 하면 되는 상용화 가능한 수준의 스프링 기반의 애플리케이션을 쉽게 만들어 낼 수 있는 개발 플랫폼이다.

최소한의 설정으로 스프링 플랫폼과 서드파티 라이브러리들을 사용 할 수 있다. 스프링 프레임워크 기반의 애플리케이션을 개발하기 쉽도록 기본 설정되어 있고, 필요로하는 설정을 추가하여 빠르게 애플리케이션을 개발 할 수 있게 해주는 도구라고 이해 해볼 수 있다.

 

스프링 부트의 기능 

- 단독 실행 가능한 스프링 애플리케이션을 생성한다.

- 내장형 톰캣, 제티 혹은 언더토우를 내장(WAR파일로 패키징하여 배포할 경우에 필요없음)

- 기본 설정되어 있는 starter 컴포넌트들을 쉽게 추가 할 수 있다.

- 가능한 자동설정되어 있음

- 상용화에 필요한 통계, 상태 점검 및 외부설정을 제공

- 설정을 위한 XML 코드를 생성하거나 유구하지 않음.

 

- 참고자료 : https://blog.naver.com/koys007/221300759959

 

스프링 부트 (Spring Boot) 로 시작하는 프레임워크 (Framework)

스프링을 사용하다보니 좋은 프레임워크긴 하지만 지옥같은 XML 설정과 방대한 양의 코드 때문에 애를 ...

blog.naver.com

 

- 스프링 프레임워크 레퍼런스 : https://docs.spring.io/spring/docs/current/spring-framework-reference/

 

Spring Framework Documentation

IoC container, Events, Resources, i18n, Validation, Data Binding, Type Conversion, SpEL, AOP.

docs.spring.io

- 스프링 부트 : https://spring.io/projects/spring-boot

 

Spring Projects

The Spring portfolio has many projects, including Spring Framework, Spring IO Platform, Spring Cloud, Spring Boot, Spring Data, Spring Security...

spring.io