-
Spring과 Spring BootProgramming/TIL 2020. 11. 4. 20:37
Spring
Spring은 우리가 원하는 프로그램을 만들기 위해 미리 만들어진 골격을 토대로 원하는 대로 살을 붙여 개발할 수 있도록 조력자의 역할을 하는 프레임워크이다.
위키백과에 따르면 기본적으로 Java 플랫폼을 위한 오픈소스 애플리케이션 프레임워크로서 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공하고 있다.
Spring 프레임워크는 인프라와 관련된 내용을 애플리케이션 레벨에서 설정하도록 해줌으로써 개발자가 코드로 대부분을 컨트롤할 수 있게 지원한다. 즉, 개발자가 코드 안에 애플리케이션 동작에 대한 내용을 기술하면 Spring 프레임워크가 이를 해석해서 동작하는 것이다.
의존성 주입(DI), 제어의 역전(IOC), 관점지향 프로그래밍(AOP)은 Spring의 중요하면서 강력한 특징이다. 이들로 인해 좀더 결합도를 낮추는 방식으로 애플리케이션을 개발할 수 있다.
Spring Boot
Spring 프레임워크는 기능이 많은 만큼 환경설정이 복잡한 편이다. 기본 프로젝트를 세팅하는데도 오랜 시간이 걸리고 어려움을 느끼는 개발자를 위해 나온 것이 Spring Boot이다.
Spring Boot는 Spring 프레임워크 사용에 필요한 설정의 많은 부분을 자동화하여 편리하게 Spring을 활용할 수 있도록 돕는다. 단지 Spring Boot 디펜던시만 추가해주면 자동으로 API 및 라이브러리를 설치하고 업데이트에도 관여할 필요가 없다. 내장된 톰캣이나 제티로 웹 애플리케이션 서버를 실행할 수도 있다.
실행환경이나 의존성 관리 등 인프라에 대한 것은 신경쓸 필요 없이 바로 코딩을 시작하면된다. 이것이 Spring Boot의 핵심이다.
참고 자료
'Programming > TIL' 카테고리의 다른 글
OOP(Object Oriented Programming) (0) 2020.11.02 디자인 패턴과 아키텍쳐 (0) 2020.03.07 프레임워크 vs 라이브러리 (0) 2020.02.12 Domain Object, DAO, DTO, (0) 2020.02.12 MVC 패턴과 Layerd Architecture (0) 2020.02.12