70가지 스프링 부트 인터뷰 질문 및 답변(2025)
신입생을 위한 Spring Boot 인터뷰 질문
1) '스프링부트'라는 용어에 대해 설명해보세요.
Spring 프레임워크에 신속한 애플리케이션 개발을 제공하는 Spring 모듈입니다. Spring 모듈은 몇 가지 Spring 파일을 구성해야 하는 Spring 프레임워크를 기반으로 하는 애플리케이션을 생성하는 데 사용됩니다.
👉 무료 PDF 다운로드: Spring Boot 인터뷰 질문 및 답변 >>
2) Spring Boot의 장점을 언급해 보세요.
spring-boot를 사용하면 다음과 같은 몇 가지 주요 이점을 얻을 수 있습니다.
- java.jar을 사용하여 시작할 수 있는 독립형 애플리케이션을 생성하는 데 도움이 됩니다.
- Maven 구성에 대해 정확한 '시작된' POM을 제공합니다.
- Undertow, Tomcat 또는 Jetty를 직접 포함할 수 있습니다.
- 가능할 때마다 자동으로 스프링을 구성하는 데 도움이 됩니다.
3) Spring 초기화 프로그램을 사용하여 Spring Boot 애플리케이션을 생성하는 방법은 무엇입니까?
Spring이 공식 웹사이트에서 제공하는 웹 도구입니다. 그러나 프로젝트 세부 정보를 입력하여 Spring Boot 프로젝트를 만들 수도 있습니다.
4) Spring Boot를 사용하는 기능을 명명하십시오.
Spring Boot 사용의 특징은 다음과 같습니다.
- 스타터 종속성
- 자동 구성
- 스프링 이니셜라이저
5) RAD 모델의 여러 단계를 설명하십시오.
자주 묻는 취업 면접입니다. RAD 모드의 다양한 단계는 다음과 같습니다.
- 비즈니스 모델링: 다양한 비즈니스 채널 간의 정보 및 유통 흐름을 기반으로 제품이 디자인됩니다.
- 데이터 모델링: 비즈니스 모델링을 통해 수집된 정보는 비즈니스에 중요한 데이터 개체 세트로 정제됩니다.
- 애플리케이션 생성: 프로세스 및 데이터 모델을 프로토타입으로 변환하기 위해 소프트웨어 구축에 자동화된 도구가 사용됩니다.
6) RAD 모델이란 무엇입니까?
RAD 또는 신속한 애플리케이션 개발 프로세스는 폭포수 모델을 채택합니다. 단기간에 소프트웨어를 개발하는 것을 목표로 합니다. RAD는 반복을 따릅니다.
SDLC RAD 모델은 다음과 같은 단계로 구성됩니다.
- 비즈니스 모델링
- 데이터 모델링
- 프로세스 모델링
- 애플리케이션 생성
- 테스트 및 회전율
7) Spring Boot 실행 가능 jar 파일을 실행하고 중지하는 명령은 무엇입니까?
cmd 또는 쉘 창 명령을 열고 사용해야 합니다.
java -jar
예시
$ java -jar myproject-0.0.1-SNAPSHOT.jar
중지하려면 Ctrl+C를 사용하세요.
8) Spring Boot에서 JDK 버전을 어떻게 변경할 수 있나요?
Spring Boot에서 JDK 버전을 변경하려면 java.dll을 추가하여 덮어쓸 수 있습니다. 주어진 버전 속성 태그:
1.8
9) 사용자 정의 포트에서 Spring Boot 애플리케이션을 실행하기 위해 따라야 하는 프로세스는 무엇입니까?
Spring Boot 애플리케이션을 실행하려면 application.properties에 server.port 속성을 넣어야 합니다. 예: server.port=8050
10) 스프링 부트 스타터란 무엇입니까? 어떻게 유용합니까?
Spring Boot에는 많은 스타터가 있습니다. 이는 편리한 종속성 설명자 세트입니다. Starter를 사용하면 pom.xml에 이러한 설명자를 포함할 수 있습니다.
예를 들어 Spring MVC로 작업하려는 경우 pom.xml에 "spring-boot-starter-web"을 종속성으로 포함할 수 있습니다.
11) Spring을 사용하지 않는 애플리케이션과 함께 Spring Boot를 사용할 수 있습니까?
아니요, Spring Boot는 Spring 애플리케이션으로만 제한되므로 불가능합니다.
12) Spring Boot에서 사용할 수 있는 구성 파일의 이름은 무엇입니까?
Spring Boot 프로젝트에 사용되는 구성 파일을 application.properties라고 합니다. 기본 구성을 재정의할 수 있는 중요한 파일입니다.
13) Spring Boot의 DevTools란 무엇입니까?
Spring Boot DevTools는 개발자의 생산성을 높이는 데 도움이 됩니다. 따라서 변경 사항을 적용할 때마다 애플리케이션을 다시 배포할 필요가 없습니다. 이를 통해 개발자는 서버를 다시 시작할 필요 없이 변경 사항을 다시 로드할 수 있습니다.
14) Spring Boot의 중요한 기능은 무엇입니까?
Spring Boot의 주요 기능은 다음과 같습니다.
- 웹 개발
- 봄 신청
- 신청사례 및 청취자
- 관리자 하이라이트
- YAML 지원
- 유형이 안전한 구성
- 외부화된 구성
- 속성 파일
- 로깅 및 보안
15) Spring Boot의 필수 구성 요소는 무엇입니까?
Spring Boot의 중요한 구성요소는 다음과 같습니다.
- 스프링 부트 스타터
- 스프링 부트 자동 구성
- 스프링 부트 액츄에이터
- 스프링 부트 CLI
16) 속성은 어떻게 정의되나요? 어디?
클래스 경로에 존재하는 application.properties 파일에서 속성을 정의할 수 있습니다.
예: 기본 DataSource 빈 구성
데이터베이스.호스트=로컬호스트
17) spring-boot-starter-parent란 무엇입니까?
만들어주는 특별한 스타터입니다. Gradle or 메이븐 클래스 경로에 jar를 추가하면 종속성 관리가 쉬워집니다.
18) Spring Boot에서 HTTP/2 지원을 활성화하는 방법은 무엇입니까?
사용자는 다음을 사용하여 HTTP/2 지원을 활성화할 수 있습니다.
server.http2.enabled configuration property.
19) 스프링 부트 액츄에이터란 무엇입니까?
Spring Boot Actuator를 사용하면 프로덕션에 애플리케이션을 푸시하려고 할 때 애플리케이션을 모니터링하고 관리할 수 있습니다. HTTP 엔드포인트를 사용하여 애플리케이션을 제어하는 데 도움이 됩니다.
20) Spring Boot 애플리케이션을 사용자 정의 포트로 실행하는 명령은 무엇입니까?
application.properties에 다음 속성을 추가합니다.
server.port = 8181
21) 애플리케이션에 정의된 값에 어떻게 접근할 수 있나요? Spring Boot의 속성 파일이란 무엇입니까?
애플리케이션 속성 파일에 정의된 속성에 액세스하려면 @Value 주석을 사용하세요.
@Value("${custom.value}") private String customVal;
22) Spring과 Spring Boot의 주요 차이점은 무엇입니까?
Spring은 Spring을 기반으로 하는 웹 애플리케이션 개발 프레임워크입니다. Java. 반면에 Spring Boot는 Spring 애플리케이션을 설정하는 데 필요한 상용구 구성을 제거한 Spring 프레임워크의 확장입니다.
23) Spring Boot 관리자에 대해 설명하세요.
Spring Boot 관리자는 Spring Boot 애플리케이션을 관리하고 모니터링하는 데 도움이 되는 커뮤니티 프로젝트입니다.
24) JPA를 사용하여 Spring Boot를 데이터베이스에 어떻게 연결할 수 있나요?
Spring Boot는 spring-boot-data-JPA start를 지원합니다. 이는 spring 애플리케이션을 관계형 데이터베이스와 연결하는 데 도움이 됩니다.
25) Spring Boot의 @RestController 주석을 설명하시겠습니까?
@RestController 주석은 클래스에 @ResponseBody 및 @Controller 주석을 추가하는 데 도움이 됩니다.
org.springframework.web.bind.annotation 패키지를 파일로 가져올 수도 있습니다.
26) 스프링 이니셜라이저라는 용어를 정의합니다.
Spring 이니셜라이저는 초기 프로젝트 구조를 생성할 수 있는 웹 애플리케이션입니다.
27) 스프링 CLI 설명
Spring CLI는 쓰기에 사용됩니다. Groovy 코드를 간결하게 만드는 데 도움이 되는 Spring Boot 애플리케이션입니다.
28) Spring Boot 애플리케이션의 속성은 어디에서 정의할 수 있나요?
Spring Boot의 속성을 application.properties라는 파일에 정의할 수 있습니다. 이 파일을 수동으로 생성하는 데 도움이 되거나 Spring 초기화 프로그램을 사용하여 이 파일을 생성할 수 있습니다.
29) Spring이 지원하는 임베디드 컨테이너는 무엇입니까?
Spring Boot는 세 가지 기본 내장 컨테이너를 지원합니다.
1) 톰캣
2) 부두
3) 언더 토우.
기본적으로 Tomcat을 내장 컨테이너로 사용합니다.
30) Spring Boot의 thymeleaf를 설명하세요
Thymelaf는 서버 측입니다. Java 웹 애플리케이션용 템플릿 엔진. 웹 애플리케이션에 우아하고 자연스러운 템플릿을 가져오는 데 도움이 됩니다.
31) 스프링 부트 속성은 무엇입니까?
Spring Boot는 프로젝트의 application.properties 파일 내에 지정할 수 있는 다양한 속성을 제공합니다. 서버 포트 번호, 데이터베이스 연결 구성 등과 같은 값을 설정하는 데 도움이 됩니다.
경험자를 위한 Spring Boot 인터뷰 질문
32) JPA와 Hibernate의 주요 차이점은 무엇입니까?
둘 사이의 주요 차이점은 JPA는 사양/인터페이스인 반면 Hibernate는 JPA 구현일 뿐이라는 것입니다.
33) 액츄에이터의 셧다운이란 무엇입니까?
종료는 애플리케이션이 올바르게 종료되도록 돕는 엔드포인트입니다. 이 기능은 기본적으로 활성화되어 있지 않습니다.
그러나 application.properties 파일에서 Management.endpoint.shutdown.enabled=true 명령을 설정하여 사용할 수 있습니다.
34) Spring Boot에서 Embedded Tomcat 서버를 교체하거나 재정의하는 것이 가능합니까?
예, 스타터 종속성을 사용하여 Embedded Tomcat을 다른 서버로 교체할 수 있습니다. 이를 위해 spring-boot-starter-jetty를 사용하거나 필요에 따라 종속성으로 사용할 수 있습니다.
35) Spring Boot 애플리케이션에서 기본 웹 서버를 비활성화할 수 있습니까?
예, application.properties를 사용하여 웹 애플리케이션 유형을 구성하면 기본 웹 서버를 비활성화할 수 있습니다.
36) 애플리케이션에 어떻게 추가, 필터링합니까?
Spring Boot 애플리케이션에 필터를 추가하는 세 가지 방법이 있습니다.
- 필터 인터페이스를 구현합니다.
- FilterRegistrationBean을 사용합니다.
- MVC 컨트롤러를 사용합니다.
37) 스프링 부트 스타터 프로젝트란 무엇입니까?
Spring Boot의 스타터는 Spring Boot 애플리케이션에 포함된 편리한 설명자 세트입니다. 다양한 Spring 관련 기술이 함께 제공되어 애플리케이션 개발의 전체 프로세스를 훨씬 쉽게 만듭니다.
38) @pathVariable은 무엇입니까?
@PathVariable 주석은 URI에서 직접 정보를 추출하는 데 도움이 됩니다.
39) Swagger2란 무엇입니까?
Swagger는 API의 구조를 설명하는 데 사용됩니다. Swagger 2는 Spring Boot에서 제공되는 오픈 소스 서비스로, 이를 통해 머신이 RESTful 웹 서비스와 같은 API 구조를 더 쉽게 찾을 수 있습니다.
40) 엔터프라이즈 애플리케이션 개발을 위한 다양한 환경은 무엇입니까?
- 데브
- QA
- 단계
- 생산
41) RequestMapping과 GetMapping의 주요 차이점은 무엇입니까?
RequestMapping은 주석의 method 속성을 사용하여 GET, POST, PUT 및 기타 여러 요청 메서드와 함께 사용할 수 있습니다. GetMapping은 요청의 명확성을 높이는 데 도움이 되는 RequestMapping의 확장일 뿐입니다.
42) Spring Boot에서 속성을 어떻게 정의할 수 있나요?
다음과 같이 애플리케이션의 클래스 경로에 존재하는 application.properties 파일을 사용하여 Spring Boot에서 속성을 정의할 수 있습니다.
43) Maven을 사용하여 Spring Boot 프로젝트를 생성하는 방법은 무엇입니까?
다음 방법 중 하나를 사용하여 프로젝트를 만드세요.
- 봄 이니셜 라이저
- 스프링 부트 CLI
- Spring Starter 프로젝트 마법사
44) Spring Boot에서 프로필을 사용하는 방법은 무엇입니까?
프로필은 Spring 애플리케이션 구성의 다양한 부분을 분리하고 특정 환경에서만 사용할 수 있도록 하는 데 사용됩니다.
45) Tomcat HTTP 포트를 변경하는 방법은 무엇입니까?
Tomcat HTTP 포트를 변경하려면 application.properties 파일에서 기본 HTTP 속성을 변경해야 합니다.
46) Spring Boot의 LiveReload란 무엇입니까?
LiveReload는 리소스가 변경될 때 브라우저 새로 고침을 트리거하는 LiveReload 서버를 포함하는 spring-boot-devtools 모듈입니다. LiveReload 서버 확장은 프리웨어로 제공됩니다. Firefox, 크롬, 사파리.
47) Spring 외부화 구성의 주요 이점은 무엇입니까?
외부화된 구성은 다양한 환경에서 동일한 코드로 작업하는 데 도움이 됩니다. 개발자는 YAML 파일, 속성 파일, 명령줄 인수 및 환경 변수를 사용하여 구성을 외부화할 수 있습니다.
48) Spring Boot에서 핫 스와핑이란 무엇을 의미합니까?
Tomcat이나 Jetty 서버를 다시 시작하지 않고 변경 사항을 다시 로드하는 방법입니다. Eclipse 다른 많은 IDE는 바이트코드 핫 스와핑을 지원합니다. 메서드 서명에 영향을 주지 않는 변경 사항을 적용한 경우 부작용 없이 다시 로드되어야 합니다.
49) Spring Boot의 자동 구성을 설명하세요.
자동 구성은 클래스 경로 매개변수의 종속성을 기반으로 Spring 애플리케이션을 자동으로 구성하는 데 사용됩니다. 개발을 더 빠르고 쉽게 만듭니다.
50) AOP(관점 지향 프로그래밍)의 의미는 무엇입니까?
관점 지향 프로그래밍은 모듈성을 높이는 것을 목표로 하는 객체 지향 프로그래밍을 보완합니다. AOP는 프로그램 논리를 관심사라고 하는 다양한 부분으로 나눕니다.
51) Spring Boot에서 로그인을 활성화하는 방법은 무엇입니까?
디버그 로깅을 활성화하려면 명령 프롬프트에서 애플리케이션을 시작하는 동안 –debug를 지정할 수 있습니다.
52) Spring Boot 애플리케이션의 기본 속성 재정의를 설명하세요.
Spring Boot에는 application.properties에 지정하여 쉽게 재정의할 수 있는 많은 속성이 있습니다.
5년 경력의 Spring Boot 면접 질문
53) Spring Boot의 Docker를 설명하세요.
컨테이너를 이용하여 프로젝트를 생성, 배포, 실행하도록 설계된 도구입니다.
54) ELK 스택을 정의합니다.
ELK 스택은 세 가지 오픈 소스 제품으로 구성됩니다. 1) Elasticsearch, 2) Logstash, 3) 키바나.
- Elasticsearch : 그것은 NoSQL Lucene이라는 오픈 소스 검색 엔진을 기반으로 하는 데이터베이스입니다.
- Logstash: 이는 소스로부터 입력을 받아들이고, 다양한 변환을 수행하고, 데이터를 대상으로 내보내는 데이터 처리 파이프라인 도구입니다.
- 키바나: Kibana는 사용자가 Elasticsearch의 그래프와 차트를 통해 데이터를 시각화할 수 있도록 도와줍니다.
55) Spring Boot에서 예외를 처리하는 방법.
Spring Boot는 @ControllerAdvice 주석을 사용하여 예외를 처리하는 매우 유용한 방법을 제공합니다.
56) 캐싱을 설명하세요.
캐싱은 자주 접근하는 데이터를 일시적으로 저장하는 메모리 공간으로, 그렇지 않으면 가져오거나 계산하는 데 비용이 많이 듭니다.
57) 교차 사이트 요청 위조 공격이란 무엇입니까?
사이트 간 요청 위조 공격 또는 원클릭 공격은 다른 사용자가 응용 프로그램에서 악의적인 명령을 실행하도록 강제하는 공격입니다. CSRF 공격은 특히 상태 변경 요청을 표적으로 삼습니다.
58) Apache freemarker를 정의합니다.
프리마커는 Java일반 텍스트, 이메일, HTML 파일 등을 생성하는 데 사용되는 기반 템플릿입니다.
59) 스프링 배치란 무엇을 의미하나요?
Spring Boot Batch는 트랜잭션 관리, 로깅, 건너뛰기, 작업 처리 통계, 작업 재시작을 포함하여 대량의 레코드를 처리할 때 중요한 코드 재사용성을 제공합니다.
60) 아파치 카프카(Apache Kafka)를 설명해보세요.
Apache Kafka는 오픈 소스 메시징 플랫폼입니다. LinkedIn이 이를 개발합니다. Apache Kafka를 사용하면 사용자는 분산 애플리케이션을 구축하고 실시간 데이터 피드를 처리할 수 있습니다. Kafka는 오프라인 및 온라인 메시징 모두에 적합합니다.
61) Spring Boot의 CORS를 설명하시겠습니까?
CORS는 Cross-Origin Resource Sharing을 의미하며 브라우저에서 구현되는 메커니즘으로, 사용자가 도메인 간 요청을 승인하는 데 도움이 됩니다. 이 메커니즘은 IFrame 또는 JSONP와 같이 덜 안전하고 덜 강력한 해킹에 대한 대안으로 사용됩니다.
10년 경력의 스프링부트 면접 질문
62) 다양한 유형의 의존성 주입을 설명하세요.
Spring Boot에는 두 가지 유형의 종속성 주입이 있습니다. 그것들은 다음과 같습니다:
- 생성자 기반 종속성 주입: 하나의 클래스 객체가 다른 객체의 종속성을 제공하는 기술입니다.
- Setter 기반 종속성 주입: 이는 프레임워크가 setter 메서드를 사용하여 기본 및 문자열 기반 값을 주입하는 종속성 주입입니다.
63) 마이크로서비스의 장점은 무엇인가요?
마이크로 서비스의 주요 장점은 다음과 같습니다.
- 개발을 빠르고 쉽게 만듭니다.
- 모든 컨테이너와 호환됩니다.
- 생산 시간을 단축합니다.
- 주요 비즈니스 애플리케이션을 지원하는 경량 모델입니다.
64) Spring Boot의 기본 패키지는 무엇입니까?
패키지 선언이 없는 클래스는 기본 패키지로 간주됩니다.
65) 임베디드 컨테이너와 WAR의 차이점을 설명하세요.
이 둘의 주요 차이점은 다음과 같습니다.
임베디드 컨테이너는 웹 서버를 설정하지 않고 명령 프롬프트에서 Spring Boot 애플리케이션을 JAR로 실행하는 동시에 Tomcat을 설정하는 데 먼저 필요한 WAR을 실행하는 데 도움이 됩니다.
66) Spring MVC를 설명해보세요.
웹 애플리케이션을 구축하는 데 도움이 되는 전통적인 웹 애플리케이션 프레임워크입니다. 이 프레임워크는 Struts의 프레임워크와 유사합니다.
67) 무엇을 사용하는가? 꼬리표?
이 태그는 다음을 사용하여 Java 세트를 삽입하는 데 사용됩니다. XML.
68) 측면이란 무엇을 의미하나요?
이는 교차 요구사항을 제공하는 API 세트입니다.
69) Spring Boot의 조인 포인트는 무엇입니까?
예외 처리나 메소드 실행과 같은 프로그램 실행 지점입니다. AOP에서는 조인 포인트를 메소드 실행이라고 합니다.
70) Spring Boot에서 활성 프로필을 어떻게 설정할 수 있나요?
Spring Boot에서 활성 프로필을 설정하려면 다음 방법을 따르세요.
- Spring Boot 애플리케이션을 시작할 때 이 프로필을 인수로 전달합니다.
- application.properties 파일에서 활성 프로필을 활성화합니다.
71) basePackages 필터를 사용하지 않고 패키지를 제외하는 것이 가능합니까? 어떻게?
예. @SpringBootApplication 주석을 사용하는 동안 단순히 제외 속성을 사용하면 basePackages 필터를 사용하지 않고도 패키지를 제외할 수 있습니다.
72) 다음을 사용하면 얻을 수 있는 이점을 나열해 보세요. Java구성 방법.
다음은 이점입니다 Java구성 방법.
- 사용자는 객체 지향 구성의 이점을 누릴 수 있습니다.
- Spring Boot 구성은 복잡한 XML 구성을 제거하여 웹 기반 애플리케이션의 효율성을 향상시킵니다.
Java 스프링 부트 인터뷰 질문
73) 가상 머신에 애플리케이션을 배포하는 단계를 설명하세요.
다음은 가상 머신에 애플리케이션을 배포하는 단계입니다.
- 설치 Java.
- 응용 프로그램 서버를 설치합니다.
- 애플리케이션 war 파일을 배포합니다.
74) Spring Boot Starter 중 일부를 나열해 보십시오.
다양한 Spring Boot 스타터는 다음과 같습니다.
- 보안
- 부모의
- 웹
- 백리향
- 프리마커
이 인터뷰 질문은 당신의 비바(구술)에도 도움이 될 것입니다.