| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
Tags
- Blazor Web App
- OPC-UA
- 스프링부트 단점
- C# @rendermode
- nosql
- REST API
- Blazor WebAssembly
- InteractiveServer
- cs기술면접
- 정보처리기사실기 기본개념
- SPA MPA 차이
- 스프링 스프링부트 차이점 공통점
- c언어 정보처리기사
- spring spring boot 차이점 공통점
- C# InteractiveServer
- SPA MPA 특징
- 스프링부트의 장단점
- jvm구성요소
- SPA MPA
- 컴퓨터과학
- 스프링부트 장점
- CS
- 기술면접
- C# CS
- C# Blazor
- Service Worker
- 서버저장방식
- 프론트엔드
- C#이론
- Redundant Array of Independent
Archives
- Today
- Total
담비의 개발블로그
[CS]2026.02.01 면접준비(spring, spring boot의 비교) 본문
◆ 공통점
1. 제어의 역전(Inversion of Control / IoC)
- 개발자는 선언만 진행하고, 스프링과 스프링부트에서는 컴포넌트를 이용해 실제 객체를 만들어준다. 즉 객체 생성을 개발자 자신이 아닌 스프링과 스프링부트에게 넘기는 것이다.
IoC의 장점 : 객체의 생명주기 관리를 개발자가 아닌 컨테이너가 담당함으로써, 객체 간의 결합도를 낮추고 유연한 코드를 작성할 수 있게 해준다. 덕분에 비즈니스 로직에만 집중할 수 있고, 테스트 코드를 작성할 때도 가짜 객체를 주입하기 쉬워져 테스트 용이성이 높아진다.
2. 의존성 주입 (Dependency Injection/ DI )
- IoC라는 큰 원칙을 실제로 구현하는 방법이 바로 DI다. 필요한 객체를 내가 직접 만드는 게 아니라, 외부(컨테이너)에서 "주입"받는 방식이다.
3. 관점 지향 프로그래밍(Aspect Oriented Programming / AOP)
- AOP는 여러 클래스에 흩어진 공통 로직을 따로 모아 모듈화하는 기술이다. 핵심 비즈니스 로직의 순수성을 유지하고 코드의 재사용성을 높일 수 있다.
예를 들어 공정설비를 위한 여러개의 로봇사용법에 대한 핵심 로직이 있다면, 이 로봇들의 사용시간이 어떻게 되는지 궁금할 때 사용할 수 있다. 사용시간을 모두 모아두어 따로 관리하는 것이 AOP인 것이다. 그리고 각 로봇의 보안을 위한 로직이 있다고 가정하면 그 보안로직도 부가 기능을 모아둔 [Aspect 클래스] 안에 작성할 수 있다.
◆ 차이점
| 구분 | 스프링 | 스프링부트 |
| 설정 | 수동으로 설정이 필요(XML 또는 자바 설정) | Auto Configuration(자동설정) 기능을 통해 빈(bean)을 자동으로 등록 |
| 서버 | Tomcat같은 외장 WAS를 별로도 설치하고 WAR 파일을 배포해야함 | 내장서버를 포함하고있어 JAR 파일만으로 즉시 실행 가능 |
| 의존성 관리 | 버전 간 호환성을 직접 확인하며 라이브러리를 추가해야 함. | Starter 의존성을 통해 관련 라이브러리 묶음을 버전 호환 걱정 없이 한번에 가져옴. |
| 운영지원 | 모니터링이나 헬스 체크 기능을 직접 구현. | Actuator를 통해 애플리케이션 상태 모니터링 기능을 기본 제공 |
