작년 대학교 졸업작품을 제출하기 위해 친구 2명과 같이 건강관리 애플리케이션을 개발한 이후 마땅한 프로젝트를 진행하지 않고 시간이 될 때마다 자바 알고리즘 공부를 하면서 시간을 보냈다.
솔직히 이렇게 오래 취업이 되지 않을 거라고 생각을 못했던 터라..... 별다른 생각이 없이 살았던거 같다.
슬슬 프로젝트 개발에 대한 개념이나 감각이 사라지고 있는 느낌도 들고 혼자 프로젝트를 개발해본 경험이 없다 보니 이번 기회에 spring boot를 공부하면서 나만의 웹 사이트를 한번 만들어 봐야겠다는 목표를 세웠다.
마침 유튜브에 spring boot를 입문하기 좋은 강의 영상이 있어서 이 강의를 듣고 spring boot에 대한 기초를 다질 계획이다.
또한 강의 영상에서 배운 내용과 실습한 내용을 바탕으로 기록을 해볼 생각이다.
첫번째로 다룰 내용은 스프링 부트가 무엇인지에 대한 내용이다.
spring boot란?

자바(Java)기반의 애플리케이션 프레임워크인 스프링(Spring Framework)을 보다 쉽게 설정하고 사용할 수 있도록 도와주는 도구이다.
스프링 부트는 특히 애플리케이션 개발과 간편한 설정을 목적으로 만들어졌으며, 몇 가지 주요 특징을 가지고 있다.
- 자동 설정(Autoconfiguration): 스프링 부트는 애플리케이션의 설정을 자동으로 감지하고, 필요한 빈(Bean)과 설정을 자동으로 구성해 준다. 이를 통해 개발자는 복잡한 XML 설정이나 클래스를 작성할 필요 없이 간단하게 애플리케이션을 시작할 수 있다. (이건 말만 들어도 설레네 이런게 있단 말이야!! o_o)
- 내장 서버(Embedded Server): 스프링 부트는 톰캣(Tomcat), 제티(Jetty), 언더토우(Undertow)와 같은 웹 서버를 내장하고 있어, 별도의 서버 설치 없이 애플리케이션을 실행할 수 있다. 이를 통해 개발자는 독립 실행형 애플리케이션을 쉽게 배포할 수 있다. (작년 졸작때 서버 연결한다고 이틀 고생한 경험이 새록새록)
- 의존성 관리(Dependency Management): 스프링 부트는 메이븐(Maven)이나 그레이들(Gradle)과 같은 빌드 도구와 통합되어, 필요한 의존성을 손쉽게 관리할 수 있습니다. 스프링 부트 스타터(Starter)를 사용하면, 일반적인 애플리케이션에서 자주 사용하는 라이브러리들을 묶어서 한 번에 추가할 수 있습니다. (이클립스나, Flutter, Android를 사용할 때도 라이브러리 추가가 그렇게 어렵진 않았던 거 같은데 뭐 좋은 거겠지)
- 프로덕션 준비 기능(Production-ready features): 스프링 부트는 애플리케이션의 모니터링과 관리 기능을 제공하는 Actuator, 보안 설정, 로깅 설정 등의 기능을 기본으로 포함하고 있습니다. 이를 통해 애플리케이션의 상태를 쉽게 모니터링하고 관리할 수 있습니다. (이건 사용해 봐야 먼가 체감이 될듯..)
- 빠른 시작과 개발 속도 향상: 스프링 부트는 개발자가 초기 설정에 시간을 낭비하지 않고, 비즈니스 로직 구현에 집중할 수 있도록 돕습니다. 이를 통해 개발 속도를 크게 향상할 수 있다. (이것도 써봐야 알듯..)





그니깐 한마디로 스프링 부트를 사용하면 위 그림처럼 내가 Android Studio로 UI 만들고 Eclipse에 Tomcat
추가해서 서버랑 백엔드 작업하고 SQL Developer를 사용해서 DB작업한 걸 스프링 부트한개로 커버가 가능해진다.
뭐 이런 뜻인 듯하다. (아님 말고)
강의 영상에서 스프링 부트가 무엇인가에 대해서 프랜차이즈를 비유하면서 이해하기 쉽게 설명을 해주었다.
거기에 추가로 구글링을 통해 공부한 내용과 내가 이해한 내용을 짧게 정리해 보았다.
다음 글은 아마 스프링 부트를 사용하기 전 개발환경을 구축하는 내용이 되지 않을까 싶다.
'Spring Boots > 스프링 부트 입문' 카테고리의 다른 글
| [spring boot 입문 - 5] 회원 가입 기능 만들기 (0) | 2024.07.01 |
|---|---|
| [spring boot 입문 - 4] spring boot 개발 환경 구축 - 3 (spring boot 프로젝트 만들기) (0) | 2024.05.26 |
| [spring boot 입문 - 3] spring boot 개발 환경 구축 - 2 (IntelliJ 설치) (0) | 2024.05.23 |
| [spring boot 입문 - 2] spring boot 개발 환경 구축 - 1 (JDK 설치) (0) | 2024.05.23 |