Software Engineering Blog

컴퓨터공학부 3학년 재학 중인 학생입니다. 백엔드를 주로 공부하며 금융 분야에 관심이 많습니다.

Spring Boot

Spring과 Spring Boot에 대한 소개

잔망준형 2024. 9. 26. 22:49


Spring 이란?

Spring은 자바 언어를 이용하여 애플리케이션 개발을 편하게 만들어주는 프레임워크(도구)이다.

프레임워크, 즉 스프링은 개발을 위한 프레임을 제공하고 우리는 스프링이 제공해 주는 프레임 위에서 편리하게 애플리케이션 개발을 진행하면 되는 것이다.

 

스프링이 없다면 우리는 서블릿부터 데이터베이스 연결 등 애플리케이션에 필요한 모든 코드를 우리가 직접 짜야 하고 매우 복잡하고 어려워질 것이다. 

 

하지만 우리는 스프링이 있기 때문에 다른 코드에 쏟을 집중을 온전히 서비스의 비즈니스 로직 구현에만 집중할 수 있다.

(이게 바로 스프링의 목적이다)

이렇게 우리가 로직에만 집중할 수 있게 도와주는 스프링의 핵심 원리들이 이제 스프링 하면 많이 언급되는 DI, IoC, AOP 같은 개념들이다.

 

근데 이제 스프링의 본 목적이 비즈니스 로직에만 개발자가 집중하도록 하는 것인데, 스프링에 모듈이 점점 추가됨에 따라 프로젝트 설정 과정이 쓸데없이 복잡해진다는 문제점이 발생했다. 

Spring Boot란?

그래서 이를 해결하기 위해 스프링에서 나온 프로젝트 중 하나가 Spring Boot이고 사실 이제는 Boot로 프로젝트를 시작하지 않을 이유도 크게 없다.

 

Spring Boot는 매우 편리하게 Spring 프로젝트를 생성하고 진행할 수 있도록 도와주지만 딱 한 가지의 문제점이라면 거의 블랙박스 프레임워크의 느낌이라 스프링의 내부 코드까지 관심을 가지기가 쉽지 않다는 점?이다.