울음참고 개발공부
article thumbnail
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
profile

울음참고 개발공부

@메각이

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!