Spring Framework 와 Spring Boot 의 차이 알고 계신가요?

rse·2023년 9월 29일
0
post-thumbnail

알고 계시다면?? 축하드립니다!!


두개의 차이가 무엇일까

Spring Framework

자바 기반의 오픈소스 프레임워크이다.

자체적으로 IoC, DI, AoP 를 제공해준다.

IoC(제어의 역전)

DI(의존성 주입)

객체간 결합이 느슨해지는 것을 의미한다.

AoP(관점지향 프로그래밍)

Spring boot

Spring Framework 를 기반으로 한 도구 이다.
개발에만 집중할 수 있도록 도와주는 봄 보다 더 따스한 봄 느낌이라고 볼 수 있다.

차이점

Dependency

프레임워크의 경우
XML 기반의 설정 파일을 사용하며 매우 길고 복잡하다.
아래 코드는 web에 대한 기본 설정을 추가하는 코드다.

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-validation</artifactId>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

부트의 경우 프레임워크 코드에서 절반 이상이 줄어들고 간단해진 것을 알 수 있다.

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation "org.springframework.boot:spring-boot-starter-validation"
    compileOnly 'org.projectlombok:lombok'
    runtimeOnly 'com.h2database:h2'
    developmentOnly 'org.springframework.boot:spring-boot-devtools'
    annotationProcessor 'org.projectlombok:lombok'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

Configuration

프레임워크의 환경 설정

부트의 환경 설정

편리한 빌드

편리한 배포


공식 문서
https://spring.io/projects/spring-boot
https://spring.io/projects/spring-framework

참고 블로그 : https://programforlife.tistory.com/68#google_vignette

profile
기록을 합시다

0개의 댓글