알고 계시다면?? 축하드립니다!!
두개의 차이가 무엇일까
자바 기반의 오픈소스 프레임워크이다.
자체적으로 IoC, DI, AoP 를 제공해준다.
객체간 결합이 느슨해지는 것을 의미한다.
Spring Framework 를 기반으로 한 도구
이다.
개발에만 집중할 수 있도록 도와주는 봄 보다 더 따스한 봄
느낌이라고 볼 수 있다.
프레임워크의 경우
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'
}
프레임워크의 환경 설정
부트의 환경 설정
공식 문서
https://spring.io/projects/spring-boot
https://spring.io/projects/spring-framework
참고 블로그 : https://programforlife.tistory.com/68#google_vignette