본문 바로가기
기타/백엔드 기초

스트링부트 | 스트링부트(String Boot)란?

by YUNI Heo 2023. 4. 26.
반응형

 

✅ 스프링부트 Spring Boot 

스프링(Spring) 프레임워크를 기반으로 한 자바 애플리케이션 개발을 쉽고 빠르게 할 수 있도록 도와주는 오픈소스 웹 프레임워크이다.

 

💡 웹 프레임워크 Web Framework

웹 애플리케이션 개발을 쉽게 할 수 있도록 기본적인 구조와 기능을 제공하는 소프트웨어 프레임워크이다.

개발 시간을 단축하고 코드의 가독성과 유지보수성을 향상할 수 있으며, 보안과 성능을 만족시킬 수 있다.

  • Spring Framework: Java 기반의 대표적인 웹 프레임워크로, 다양한 모듈과 기능을 제공한다.
  • Django: Python 기반의 웹 프레임워크로, 빠르고 안정적인 웹 애플리케이션을 개발한다.
  • Flask: Python 기반의 경량 웹 프레임워크로, 작은 규모의 웹 애플리케이션을 개발한다.
  • Ruby on Rails: Ruby 기반의 웹 프레임워크로, 높은 생산성과 개발 속도를 제공한다.
  • Laravel: PHP 기반의 웹 프레임워크로, 간결하고 직관적인 구문을 사용한다.
  • Express.js: Node.js 기반의 웹 프레임워크로, 빠른 속도와 확장성을 제공한다.
  • ASP.NET: Microsoft의 .NET 프레임워크 기반의 웹 프레임워크로, 다양한 언어와 플랫폼에서 사용한다.

 

💡 스프링부트 Spring Boot  보안

 보안에 대한 다양한 기능을 제공하여 보안 문제를 미리 예방하고, 강력한 보안 시스템을 구축할 수 있다.

  • 스프링 시큐리티(Spring Security): 인증, 권한 부여, 보안 설정 등을 제공하여 웹 애플리케이션의 보안을 강화한다.
  • HTTPS 지원: HTTPS를 지원하며, SSL 인증서를 쉽게 구성한다.
  • OAuth2 지원: OAuth2 인증 방식을 지원하여, 소셜 미디어 서비스의 인증 처리를 쉽게 구현한다.
  • CSRF, Cross-Site Request Forgery 방어: CSRF 공격에 대한 방어 기능을 제공하여, 웹 애플리케이션의 보안을 강화한다.
  • CORS, Cross-Origin Resource Sharing 지원: CORS를 지원하여, 웹 애플리케이션에서 다른 도메인으로부터의 요청을 처리한다.
  • SQL Injection 방어: JPA와 함께 사용하면, SQL Injection 공격을 방어할 수 있다.
  • 파일 업로드 보안: 파일 업로드 시 파일 크기, 파일 타입, 저장 위치 등을 제한하여, 파일 업로드 보안을 강화한다.

 

💡 스프링부트 Spring Boot  웹 애플리케이션 서버(WAS, Web Application Server)

스프링부트는 웹 애플리케이션을 개발할 때 웹 애플리케이션 서버(WAS, Web Application Server)가 필요 없다.

스프링부트가 내장형 웹 서버(Embedded Web Server)를 제공하기 때문이다.

  • 톰캣(Tomcat), 제티(Jetty), 언더토(Undertow) 등의 웹 서버가 내장되어 있다.
  • 내장형 웹 서버를 통해 애플리케이션 실행 환경을 쉽게 구성한다.
  • WAS가 필요 없으므로 서버 환경 설정에 드는 비용이 감소한다.
  • 애플리케이션 배포 및 실행 시간이 감소한다.
  • 개발, 테스트, 배포 등 모든 환경에서 동일한 서버를 사용한다.
  • 높은 확장성과 가용성을 제공한다.

 

💡 스프링부트 Spring Boot 특징

  • 내장 톰캣(Tomcat) 서버를 포함한 자체 실행 가능한 JAR 파일 생성
  • XML 대신 자바 코드로 설정 가능
  • 스프링(Spring) 프레임워크에 비해 더 간편하고 빠른 개발 가능
  • 자동 설정과 스타터 의존성을 통해 빠른 프로젝트 구성 가능
  • 다양한 플러그인과 라이브러리를 제공하여 개발 생산성 향상
  • 오픈 소스이며, 활발한 개발 및 커뮤니티 지원

 

💡 스프링부트 Spring Boot 사용 분야

  • 웹 애플리케이션 개발: 웹 개발을 위한 기능을 제공하여, 빠르고 안정적인 웹 애플리케이션을 개발한다.
  • 마이크로서비스 아키텍처 구현: 마이크로서비스 아키텍처를 구현하는 데 필요한 기능을 제공하여, 분산 시스템을 구축한다.
  • RESTful API 개발: RESTful API 개발을 지원하는 기능을 제공하여, API 서버를 개발한다.
  • 배치 처리 애플리케이션 개발: 배치 처리를 위한 기능을 제공하여, 대용량 데이터 처리 및 일괄 작업 처리를 구현한다.
반응형