
안녕하세요, 오늘은 Spring 과 Spring Boot 에 대해 정리해 보았습니다.
Spring 과 Spring Boot
Spring은 자바 플랫폼을 위한 애플리케이션 프레임워크로, 다양한 기능을 제공하여 개발자들이 효율적으로 애플리케이션을 개발할 수 있도록 돕습니다. 반면, Spring Boot는 Spring 프레임워크를 기반으로 하여, 더 간편하고 빠르게 애플리케이션을 개발할 수 있도록 설계된 도구입니다. Spring Boot는 설정을 최소화하고, 자동 구성을 통해 개발자들이 더 적은 코드로 더 많은 기능을 구현할 수 있게 해줍니다.
Spring Framework의 특징
Spring Framework는 다음과 같은 주요 특징을 가지고 있습니다:
이러한 특징 덕분에 Spring Framework는 대규모 애플리케이션 개발에 적합합니다.
Spring Boot의 특징
Spring Boot는 다음과 같은 장점을 제공합니다:
이러한 특징 덕분에 Spring Boot는 빠르고 간편하게 애플리케이션을 개발하고자 하는 개발자들에게 인기가 많습니다.
Spring과 Spring Boot의 차이점
Spring과 Spring Boot의 가장 큰 차이점은 설정의 복잡성입니다. Spring Framework는 많은 설정이 필요하지만, Spring Boot는 자동 구성을 통해 설정을 최소화합니다. 또한, Spring Boot는 REST API 개발에 최적화되어 있어, 웹 애플리케이션을 빠르게 구축할 수 있습니다.

이미지 출처
| 특징 | Spring Framework | Spring Boot |
|---|---|---|
| 설정 복잡성 | 높은 설정 필요 | 자동 구성으로 간편함 |
| 애플리케이션 유형 | 다양한 애플리케이션 개발 가능 | 주로 REST API 및 단독 애플리케이션 개발 |
| 내장 서버 지원 | 별도의 서버 설정 필요 | 내장 서버 지원 |
| 스타터 의존성 | 수동으로 의존성 추가 | 스타터 의존성으로 간편하게 추가 가능 |
이 표를 통해 두 프레임워크의 차이점을 한눈에 확인할 수 있습니다.

Spring Cloud와의 관계
Spring Cloud는 분산 시스템을 구축하기 위한 도구 모음입니다. Spring Boot와 함께 사용되며, 마이크로서비스 아키텍처를 지원합니다. Spring Cloud는 서비스 발견, 로드 밸런싱, 회로 차단기 등의 기능을 제공하여, 복잡한 분산 시스템을 쉽게 관리할 수 있도록 돕습니다.
Spring 생태계의 다양한 구성 요소
Spring 생태계는 다양한 구성 요소로 이루어져 있습니다. Spring MVC는 웹 애플리케이션 개발을 위한 모듈이며, Spring WebFlux는 비동기 및 반응형 프로그래밍을 지원합니다. 이러한 모듈들은 각각의 필요에 따라 선택하여 사용할 수 있습니다.

오늘의 코드카타
class Solution {
public int[] solution(String[] name, int[] yearning, String[][] photo) {
int[] answer = new int[photo.length];
for (int i = 0; i < answer.length; i++) {
for (int j = 0; j < photo[i].length; j++) {
for (int k = 0; k < name.length; k++) {
if (photo[i][j].equals(name[k])) {
answer[i] += yearning[k];
}
}
}
}
return answer;
}
}
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
Solution solution = new Solution();
String[] n1 = {"may", "kein", "kain", "radi"};
String[] n2 = {"kali", "mari", "don"};
String[] n3 = {"may", "kein", "kain", "radi"};
int[] y1 = {5, 10, 1, 3};
int[] y2 = {11, 1, 55};
int[] y3 = {5, 10, 1, 3};
String[][] p1 = {{"may", "kein", "kain", "radi"}, {"may", "kein", "brin", "deny"}, {"kon", "kain", "may", "coni"}};
String[][] p2 = {{"kali", "mari", "don"}, {"pony", "tom", "teddy"}, {"con", "mona", "don"}};
String[][] p3 = {{"may"}, {"kein", "deny", "may"}, {"kon", "coni"}};
System.out.println(Arrays.toString(solution.solution(n1, y1, p1)));
System.out.println(Arrays.toString(solution.solution(n2, y2, p2)));
System.out.println(Arrays.toString(solution.solution(n3, y3, p3)));
}
}
추억 점수