반응형
✅ 스프링부트 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 서버를 개발한다.
- 배치 처리 애플리케이션 개발: 배치 처리를 위한 기능을 제공하여, 대용량 데이터 처리 및 일괄 작업 처리를 구현한다.
반응형
'기타 > 백엔드 기초' 카테고리의 다른 글
스트링부트 | 데이터베이스 (0) | 2023.05.02 |
---|---|
스트링부트 | 스프링부트 프로젝트 구조 (0) | 2023.05.02 |
스트링부트 | Spring Boot Devtools, Live Reload, Lombok 사용법 및 설치 방법 (0) | 2023.05.02 |
스트링부트 | 컨트롤러 Controller (0) | 2023.05.02 |
자바 Java | 접근제어자: 객체 지향 프로그래밍의 캡슐화 원칙과 예시 코드 (0) | 2023.03.07 |
자바 Java | import문 사용법과 단축키 (0) | 2023.03.07 |
자바 Java | 패키지(Package)의 개념과 활용 방법 (0) | 2023.03.07 |
자바 Java | 상속(Inheritance) 개념과 구현 방법: 단일 상속, 상속 구현, super, Object 클래스 (0) | 2023.02.16 |