728x90
Spring ? Spring Boot?? 간단하게 개념을 정리해 두려한다.
이번엔 확실히 기억해 두자 !! 젭알 ~~
Spring Framework = Spring
-> Spring 은 Java 를 위한 프레임워크이다
( Spring Framework 를 Spring 이라고 간략히 부른다 )
Spring Boot
-> Spring 의 문제점을 해결하기 위해 개발된 프레임워크
Spring 과 Spring Boot 둘 중에 선택해서 사용하는 것?
-> 🙅: 아니야!!!
Spring Boot 는 Sping 을 확장하여 사용하는 것으로서 Spring 기능을 기반으로 만들어 진 것이기 때문에
Spring Boot 를 사용하게 되면 Spring 보다 더 높은 수준의 추상화와 자동화된 기능을 사용할 수 있게 된다.
따라서, Spring 의 특정 기능을 직접 사용하거나 확장하면서도 Spring Boot 의 자동 구성과 스타터 기능을 활용하여 애플리케이션을 개발하는 것이 일반적이다.
Q. Spring 의 문제점은 무엇인가? Spring Boot 가 어떻게 해결해 주었나?
( 크게 3가지만 정리하였다 ! )
1. 번거로운 설정 해결
- Spring : 설정을 위한 XML 파일 또는 Java Configuration 클래슬르 작성해야 했음
- Spring Boot : Auto Cofiguration 을 통해 초기 설정을 단순화하였음
2. 의존성 관리의 어려움 해결
- Spring : Maven 이나 Gradle 같은 빌드 도구를 사용하여 의존성을 관리함
- 문제점 : 개발자가 필요한 라이브러리르 직접 추가하고 관리해야 한다는 점
- 예시 )
<dependencies>
<!-- Spring Core -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.3.10</version>
</dependency>
<!-- Spring Context (IoC Container) -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.10</version>
</dependency>
<!-- Spring MVC -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.3.10</version>
</dependency>
<!-- Spring Web -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>5.3.10</version>
</dependency>
<!-- Servlet API -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
</dependencies>
- Spring Boot : 'Starter' 를 사용하여 사전에 구성된 의존성 그룹을 제공하여 자동 구성하고 필요한 기능을 빠르게 확장할 수 있도록하여 의존성 관리를 간소화 하였음
- 편리한 점 : 개발자가 필요한 스타터를 추가만 해주면 간단하게 애플리케이션 기능 확장이 가능함
- 예시 )
<dependencies>
<!-- Spring Boot Starter for Web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
Spring 예시로 작성된 의존성과 Spring Boot 예시로 작성된 의존성은 같은 역할을 한다 !!
3. 서버 설정의 복잡성 해결
- Spring : 웹 서버를 사용할 때 외부 서버 설정이 필요하다.
- Spring Boot : 내장형 웹 서버를 사용하여 서버의 설정과 실행에 대한 번거로움을 최소화 하였다.
[ 참고 자료 ] - 내장형 웹 서버를 사용하는 Spring Boot
Spring | Spring Boot 의 내장웹서버 Tomcat 의 위치
Tomcat 은 WAS 의 한 종류이다 * WAS ( Web Application Server ) : 정적리소스 및 동적인 애플리케이션 관리 서버 Spring Boot 는 내장형 웹 서버를 가지고 있으므로 애플리케이션을 실행할 때 별도의 구성 없이
megak.tistory.com
728x90
'Spring & Spring Boot' 카테고리의 다른 글
Spring boot - war 파일 기본 루트 (0) | 2023.12.07 |
---|---|
Spring Boot 의 내장웹서버 Tomcat 의 위치 (2) | 2023.11.29 |
의존성 주입이란? + @Autowired , IoC (0) | 2023.11.02 |
@Autowired(required = false) 사용 목적 (0) | 2023.11.02 |
springframework 템플릿 엔진 - thymeleaf, mustache (0) | 2023.05.11 |