top 48 spring interview questions
다가오는 인터뷰를 준비하는 데 도움이되는 가장 자주 묻는 봄 인터뷰 질문 및 답변 목록 :
이 기사에서는 가장 인기 있고 널리 사용되는 Spring Framework에 대해 알아 봅니다. 여기에는 신입생과 경험 많은 전문가를위한 Spring Framework 및 Spring MVC 질문이 포함되어 있습니다. 그러나 스프링 부분에 깊이 들어가기 전에 프레임 워크가 무엇이며 왜 프레임 워크가 추가로 필요한지 이해합시다.
간단한 용어로 프레임 워크는 특정 작업을 수행하기 위해 다른 일이오고 축적되도록 이미 구축 된 특정 경계로 이해 될 수 있습니다.
소프트웨어 용어에서 프레임 워크는 개발 모드에있는 모든 응용 프로그램을 지원하기 위해 많은 기능과 기능을 포함하여 이미 개발 된 특정 응용 프로그램으로 정의 할 수 있습니다.
스프링 프레임 워크
IP에 대한 ddos 공격을 수행하는 방법
프레임 워크에는 개발자가 응용 프로그램을 개발하기 위해 만들 필요가없는 몇 가지 기성 클래스 및 구성 요소가 포함되어 있으므로 많은 코드 복잡성을 줄이고 응용 프로그램을 쉽게 유지 관리 할 수 있습니다. 또한 시간을 절약하므로 비용이 절감됩니다.
봄 프레임 워크는 크기가 작고 효율성이 높기 때문에 경량 프레임 워크로 알려져 있습니다. 오픈 소스이므로 간단하고 쉬운 방법으로 Java 애플리케이션을 개발할 수있는 강력한 인프라를 제공합니다. Hibernate, Struts, EJB 등과 같은 다른 프레임 워크에 대한 지원을 제공합니다.
동시에 여러 가지를 달성하기 위해 특정 모듈로 나뉩니다. Spring 모듈에는 코어 모듈, 웹 모듈, 데이터 통합 모듈, 테스트 모듈, AOP 모듈 등이 포함됩니다. 각 모듈은 개발자의 요구 사항에 따라 고유 한 용도로 사용됩니다.
이 기사에서는 인터뷰 관점에서 중요한 Spring의 모든 중요한 주제를 다룰 것입니다.
우리는 Spring Framework가 무엇인지, 모듈 유형, 의존성 주입 및 제어 반전 개념, Bean 및 수명주기, Bean의 다양한 범위, 자동 연결 개념, Spring의 이벤트 처리, Spring AOP, Spring 트랜잭션 관리를 다룰 것입니다. , spring MVC 및 아키텍처 흐름.
또한 스프링 및 구성의 다양한 모듈에서 사용되는 중요한 주석과 스프링 컨테이너에 대해 다룰 것입니다.
매우 중요한 개념의 일부 코드 예제가 여기에 설명되어 있으며 자세한 방법으로 설명하는 데 도움이 될 것입니다. Spring MVC 샘플 예제를 참조하기 위해 추가 링크가 제공되었습니다. 디스패처 서블릿의 개념을 매우 정교하게 설명했습니다.
이 명확하고 일대일 답변으로 대부분의 인터뷰 질문에 자신있게 답변 할 수 있습니다.
가장 인기있는 봄 인터뷰 질문 및 답변
자세한 답변 및 예제와 함께 가장 자주 묻는 Spring 프레임 워크 인터뷰 질문을 살펴 보겠습니다.
Q # 1) 프레임 워크 란 무엇입니까? Spring Framework를 설명하십시오.
대답: 프레임 워크는 개발자가 이미 빌드 된 클래스와 라이브러리를 사용하여 애플리케이션에 더 많은 기능을 추가 할 수 있도록 도와주는 이미 빌드 된 소프트웨어입니다.
Spring Framework는 개발자가 Java 기반 애플리케이션을 개발하는 데 도움이되는 종속성 주입 프레임 워크입니다. Spring은 Java Enterprise를위한 오픈 소스 프레임 워크입니다.
Q # 2) 다른 프레임 워크보다 Spring이 선호되는 이유는 무엇입니까?
대답: 아래 기능으로 인해 다른 프레임 워크보다 Spring이 선호됩니다.
- 매우 작은 크기와 경량
- Inversion of Control에 의해 느슨하게 결합 된 애플리케이션을 달성하는 데 도움이됩니다.
- AOP 지원
- MVC 프레임 워크
- 좋은 트랜잭션 관리 기능
- 스프링 컨테이너
- 예외 처리
Q # 3) Spring Framework에서 다양한 유형의 모듈을 분류합니다.
대답: 그만큼 Spring Framework의 5 가지 주요 모듈은 다음과 같습니다.
- 코어, 빈, 컨텍스트 및 표현 언어를 포함하는 스프링 코어 컨테이너.
- AOP 및 측면.
- JDBC, OXM, ORM, 트랜잭션 모듈 등을 포함하는 데이터 통합 모듈
- 웹, 서블릿, 스트럿 및 포틀릿을 포함하는 웹 모듈.
- 테스트
Q # 4) Spring 구성 파일을 설명하십시오.
대답: XML 파일에는 구성 프로세스 및 이러한 클래스가 다른 클래스와 상호 작용하는 방식과 함께 클래스에 대한 모든 정보가 포함되어 있습니다.
Q # 5) Dependency Injection의 개념을 설명하세요.
대답: 첫째, 주입은 종속성을 종속 개체로 전송하는 것을 의미합니다.
종속성 주입은 느슨하게 결합 된 애플리케이션을 개발하는 데 도움이되는 일종의 디자인 패턴입니다. 응용 프로그램에서 종속성을 해결하는 데 도움이되는 제어 반전 구현입니다.
자체 개체 생성을 방지하고 구성을 통해 개체를 생성하는 방법을 안내 한 다음 IOC가 어떤 서비스가 어떤 구성 요소와 일치해야하는지 결정합니다.
Dependency Injection은 Spring Framework의 핵심 기능입니다.
Q # 6) Dependency Injection에는 어떤 종류가 있나요? 그들을 설명하십시오.
대답: 종속성 주입에는 두 가지 유형이 있습니다. 다음과 같습니다.
- 건설 기반 의존성 주입 – 이는 Spring 컨테이너가 인수를 사용하여 생성자를 호출하고 각각 다른 클래스에 대한 종속성을 가질 때 달성됩니다.
- 세터 기반 의존성 주입 이는 Spring 컨테이너가 Bean을 인스턴스화하는 인수없이 생성자를 호출 한 후 Bean의 setter 메소드를 호출 할 때 달성됩니다.
Q # 7) 어떤 것을 사용하면 좋습니까? 생성자 또는 세터 기반 종속성?
대답: 상황에 따라 두 가지 유형의 종속성 주입을 사용할 수 있습니다. 필수 종속성의 경우 생성자 기반 종속성 주입이 사용되는 반면 선택적 종속성의 경우 setter 기반 종속성 주입이 사용되는 것이 엄지 손가락 규칙입니다.
Q # 8) Inversion of Control의 장점은 무엇입니까?
대답: IOC에는 몇 가지 장점이 있습니다. 그중 몇 가지가 아래에 언급되어 있습니다.
- IOC는 애플리케이션의 코드를 줄여 코드 복잡성을 줄일 수 있습니다.
- 애플리케이션에서 IOC를 사용하면 조회 및 싱글 톤이 필요하지 않으므로 테스트가 더 간단하고 쉬워집니다.
- 느슨한 결합은 IOC에 의해 이루어지며 결과적으로 코드를보다 쉽게 유지 관리 할 수 있습니다.
- IOC는 서비스의 초기 인스턴스화 및 늦은로드를 지원합니다.
Q # 9) AOP의 개념을 설명하세요.
대답: AOP는 Aspect Oriented Programming을 의미합니다. 개발자가 트랜잭션 관리 및 로깅과 같은 책임의 동작을 재구성하는 데 도움이되는 프로그래밍의 또 다른 접근 방식입니다.
AOP는 교차 절단 문제를 위해 구현됩니다. 즉, 정의가 한 곳에서 제공되고 기능적으로 스크립트의 도움으로 여러 곳에서 사용할 수 있습니다.
Q # 10) Spring Container의 사용법을 설명하세요.
대답: Spring 프레임 워크의 핵심 부분이자 백본입니다. Spring 컨테이너는 객체를 생성하고, 객체를 결합하고, 구성을 관리하고, 생성, 구현 및 파괴의 수명주기를 완료하는 데 도움이됩니다.
Spring 컨테이너는 애플리케이션을 빌드하는 구성 요소를 관리하기 위해 Dependency Injection의 도움을받습니다.
Q # 11) IOC 컨테이너에는 어떤 종류가 있습니까?
답변 : IOC 컨테이너는 다음과 같이 두 가지 유형이 있습니다.
- 빈 팩토리 – 간단한 컨테이너이며 의존성 주입을 지원합니다.
- 스프링 ApplicationContext – 파일에서 텍스트 메시지를 디코딩하는 것과 같은 복잡한 기능을 추가하고 리스너에게 이벤트를 게시 할 수있는 고급 컨테이너입니다.
Q # 12) Bean Factory 컨테이너의 구현은 무엇입니까?
대답: XmlBeanFactory 클래스는 빈 팩토리의 가장 중요한 구현이며 XML 파일에서 데이터를 읽는 데 유용합니다.
Q # 13) ApplicationContext 컨테이너의 구현은 무엇입니까?
대답: 가장 일반적으로 사용되는 ApplicationContext 컨테이너에는 FileSystemXmlApplicationContext, ClassPathXmlApplicationContext 및 WebXmlApplicationContext 등이 있습니다.
Q # 14) 봄의 콩이란?
빈 파일 창 10을 여는 방법
대답: Spring Beans는 Spring 컨테이너가 관리하는 단순한 Java 객체 일뿐입니다.
예:
package com.javaworld; public class Demo { private String message; public void setMessage(String message){ this.message = message; } public void getMessage(){ System.out.println('Display Information: ' + message); } }
Q # 15) Bean Definition의 구성 요소는 무엇입니까?
대답: 기본적으로 Bean 정의는 Spring 컨테이너가 Bean 생성 프로세스, Bean의 라이프 사이클 및 Bean의 종속성과 같은 세부 사항을 알기 위해 사용하는 구성 메타 데이터를 보유합니다.
Q # 16) Spring 컨테이너에 구성 메타 데이터를 제공하는 방법은 무엇입니까?
대답: 구성 메타 데이터는 XML 기반 구성 파일, 주석 기반 구성, Java 기반 구성 등 세 가지 방법으로 Spring Container에 제공 될 수 있습니다.
Q # 17) Spring 애플리케이션에서 Bean을 추가하는 구문은 무엇입니까?
답변 : 구문 :
Q # 18) 빈 범위 유형은 무엇입니까?
대답: Bean 범위는 싱글 톤 및 프로토 타입, 요청, 세션, 글로벌 세션 등으로 정의 할 수 있습니다.
- 프로토 타입은 매번 새로운 빈 인스턴스가 필요할 때 선언됩니다.
- Singleton은 매번 동일한 빈 인스턴스를 사용할 때 선언됩니다.
- 요청은 HTTP 요청 범위에 사용됩니다.
- 세션은 HTTP 세션 범위에 사용됩니다.
- Global-HTTP 세션은 Bean의 범위를 전역 HTTP 세션으로 지정합니다.
Syntax:
Q # 19) Spring에서 빈의 기본 범위는 무엇입니까? 또한 동기화되어 있습니까?
대답: Spring에서 Bean의 기본 범위는 Singleton입니다. 또한 동기화되지 않습니다. 즉, 스레드로부터 안전하지 않습니다.
Q # 20) 봄에 콩의 생애주기는?
대답: Spring Bean의 수명주기는 아래에 언급 된 특정 단계를 따릅니다.
- 인스턴스화 – XML 파일의 Spring 컨테이너가 빈 정의를 찾은 다음 빈이 인스턴스화됩니다.
- 속성 채우기 – Spring 컨테이너는 종속성 주입의 도움으로 빈 정의에 언급 된 모든 속성을 채 웁니다.
- Bean의 이름을 설정합니다.
- 콩 공장 설정.
- Bean의 사전 초기화 및 초기화.
- Bean의 사후 초기화.
- destroy () 메소드를 호출하여 Bean을 파괴하십시오.
Q # 21) 속콩이란 무슨 뜻인가요?
대답: 속성 또는 생성자 요소 내부에 정의 된 빈을 내부 빈이라고합니다.
내부 빈에는 특정 ID 나 이름이 필요하지 않습니다. 사실 Spring 컨테이너는 범위 정의와 함께 이러한 값을 피합니다. 내부 빈은 익명이라고하며 범위는 항상 프로토 타입으로 정의됩니다.
Q # 22) Spring에 컬렉션 컨셉을 삽입하는 방법은 무엇인가요?
대답: 기본적으로 Spring에 삽입 할 4 가지 컬렉션 요소가 있습니다.
그들은:
- 요소 – 중복을 제거하여 값 세트를 연결합니다.
- 요소 – 값을 삽입하거나 삽입하는 것이 유용하며 중복 값도 허용합니다.
- 요소 – 모든 유형이 될 수있는 키 또는 이름-값 쌍을 삽입하는 데 사용됩니다.
- 요소 – 키 또는 이름-값 쌍을 삽입하는 데 사용되지만 유형은 문자열이어야합니다.
Q # 23) Autowiring의 개념을 설명해주세요.
대답: Autowiring은 Spring 프레임 워크의 필수 개념입니다. setter 또는 생성자 기반 주입을 사용하여 암시 적으로 개체 종속성을 주입하는 데 사용됩니다. 자동 연결은 참조 유형에서만 작동하므로 기본 및 문자열 유형에 대한 값을 삽입하는 데 유용하지 않습니다.
autowire의 가장 큰 장점은 종속성 주입이 autowire에 의해 처리되므로 개발자가 코드를 적게 작성해야한다는 것입니다. 또한 프로그래머는 프로세스를 제어하지 않았습니다.
Syntax:
추천 자료 => Spring Autowired Annotation, 스프링 자동 연결 주석 Spring Bean Autowire Byname
Q # 24) Autowiring의 다양한 모드를 설명해주세요.
대답: Autowiring에는 종속성 주입 기능을 사용하기 위해 Spring 컨테이너를 안내하는 5 가지 모드가 있습니다.
- 모드 없음 – 기본 설정으로 호출되며 자동 연결이 비활성화됨을 의미하며 참조 연결에 명시 적 빈을 사용해야합니다.
- 이름으로 – Autowiring은 속성 이름으로 수행 할 수 있습니다. Spring 컨테이너는 autowire 속성이 byName으로 설정된 빈에 대한 XML 구성 파일을 검색합니다.
- byType – Autowiring은 속성 유형별로 수행 할 수 있습니다. Spring 컨테이너는 autowire 속성이 byType으로 설정된 빈에 대한 XML 구성 파일을 검색합니다.
- 빌더 – byType과 거의 동일하지만 컨테이너에 생성자 인수 유형이 없으면 오류가 발생합니다.
- 자동 감지 – 선택 우선 순위를 나타내는 Spring의 동작을 의미합니다. 첫째, Spring은 생성자를 사용하여 autowiring을 선택하고, 발생하지 않으면 우선 순위를 byType으로 변경합니다.
Q # 25) Autowiring에 제한이 있나요? 그렇다면 설명하십시오.
대답: 예, 아래에 언급 된 몇 가지 자동 연결 제한이 있습니다.
- 항상 재정의 가능성이 있습니다.
- 개발자는 기본 및 Spring 속성을 자동으로 연결할 수 없습니다.
- 자동 배선은 명시 적 배선에 비해 대규모 응용 분야에서 사용하면 복잡해집니다.
Q # 26) 주석 배선이란 무엇이며 어떻게 켜나요?
대답: XML의 또 다른 용도는 개발자가 특정 클래스 또는 메서드에 대한 주석을 사용하여 전체 구성을 하나의 클래스로 이동하는 주석입니다.
을 선언하여 Spring 구성 파일에서 켜집니다.
Q # 27) @Required 주석의 사용은 무엇입니까?
대답: 설정시 빈 속성이 자동 연결 또는 빈 정의의 명시 적 속성 값을 통해 채워 져야 함을 나타내는 데 사용됩니다.
예:
package com.softwaretestinghelp; import org.Springframework.beans.factory.annotation.Required; public class Employee { private Integer age; private String Lname; @Required public void setAge(Integer age) { this.age = age; } public Integer getAge() { return age; } @Required public void setLName(String Lname) { this.name = name; } public String getLName() { return name; } }
Q # 28) @Autowired 어노테이션의 용도는 무엇입니까?
대답: 자동 연결을 수행하는 방법과 위치를 더 잘 제어하고 이해하는 데 도움이됩니다. setter 메소드, 속성 또는 생성자에서 autowire bean에 사용할 수 있습니다.
예:
package com.softwaretestinghelp; import org.Springframework.beans.factory.annotation.Autowired; public class code-editor { private SpellCheck spellCheck; @Autowired public void setSpellCheck( SpellCheck spellCheck ){ this.spellCheck = spellCheck; } public SpellCheck getSpellCheck( ) { return spellCheck; } public void spellCheck() { spellCheck.checkSpelling(); } }
Q # 29) @Qualifier 주석의 용도는 무엇입니까?
대답: 주로 개발자가 동일한 유형의 빈을 여러 개 생성하고 그중 하나만 속성에 연결하려는 경우에 사용됩니다.이 시나리오에서는 @Autowired가있는 @Qualifier를 사용하여 혼동을 제거하고 연결할 정확한 빈을 지정합니다. .
Q # 30) Spring에서 이벤트는 어떻게 처리 되나요?
대답: 이벤트 처리는 ApplicationEvent 클래스 및 ApplicationListner 인터페이스를 통해 수행됩니다.
Bean이 ApplicationListner를 구현하면 ApplicationEvent가 ApplicationContext에 생성되고 Bean이 생성되었음을 알립니다.
Q # 31) 표준 봄 이벤트의 예는 무엇입니까?
대답: 각각의 목적을 제공하는 많은 표준 Spring 이벤트가 있으며 그중 ContextStartedEvent, ContextRefreshedEvent, ContextStoppedEvent, ContextClosedEvent, RequestHandledEvent 등은 거의 없습니다.
Q # 32) 조인트 포인트는 무엇을 의미합니까?
대답: AOP 측면을 연결할 수있는 특정 지점을 나타냅니다. AOP 프레임 워크를 사용하여 일부 작업을 수행 할 수있는 응용 프로그램의 원래 위치입니다.
Q # 33) JDBC 템플릿은 무엇이며 Spring에서 사용하는 방법은 무엇입니까?
대답: JDBC 템플릿은 JDBC를보다 효율적으로 사용하기 위해 Spring 프레임 워크에서 제공하는 템플릿입니다.
JDBC 템플릿은 일반적으로 데이터베이스 데이터를 객체로 변환하고 준비되고 호출 가능한 문을 실행하는 데 사용되며 데이터베이스에 대한 오류 처리도 지원합니다.
Q # 34) Spring의 트랜잭션 관리 란? 다양한 유형의 트랜잭션 관리를 설명하십시오.
대답: 트랜잭션은 기본적으로 데이터베이스의 일부 데이터에 대해 수행되는 작업입니다. 트랜잭션 관리는 관계형 데이터베이스 관리 시스템에 속하며 데이터 윤리 및 일관성을 보장하는 데 사용됩니다.
트랜잭션 관리의 핵심 장점은 올바른 통합을 통해 선언적 및 프로그래밍 방식의 트랜잭션 관리 및 Hibernate, JTA 및 JDBC와 같은 API를 지원한다는 것입니다.
최고의 PC 조정 소프트웨어 2019
아래에 언급 된 두 가지 유형의 트랜잭션 관리가 있습니다.
- 프로그래밍 방식 트랜잭션 관리 코딩 또는 스크립팅 측면에서 거래를 돕는 데 사용됩니다.
- 선언적 트랜잭션 관리 비즈니스 코드와 트랜잭션을 분리하는 데 사용됩니다.
Q # 35) 가장 일반적으로 사용되는 트랜잭션 관리는 무엇입니까?
대답: 선언적 트랜잭션 관리는 개발자가 널리 사용합니다.
Q # 36) Spring MVC 프레임 워크를 설명하십시오.
대답: MVC는 Model, View 및 Controller를 나타냅니다. Spring MVC 프레임 워크는 좋은 아키텍처 흐름과 구성으로 웹 애플리케이션을 개발하는 데 사용됩니다. 다른 프레임 워크와 통합 할 때 매우 유연합니다.
Q # 37) Spring MVC 아키텍처를 설명하십시오.
대답: Spring MVC 아키텍처는 Model, View, Controller를 기반으로합니다.
(영상 출처 )
위의 링크에는 참조 용으로 완전한 Spring MVC 흐름의 간단한 예가 있습니다.
Spring Architecture의 흐름은 다음과 같습니다. :
- 디스패처 서블릿이 요청을 수신합니다.
- 디스패처 서블릿은 컨트롤러 클래스 이름에 대한 응답을 제공하는 핸들러 매핑에 요청을 보냅니다.
- 이제 요청이 디스패처 서블릿에서 컨트롤러로 전송되므로 컨트롤러는 요청을 처리하고 디스패처 서블릿에 대한 응답으로 모델보기 개체를 반환합니다.
- 다시, 디스패처 서블릿은 올바른보기 페이지를 얻기 위해보기 분석기에 요청을 보냅니다.
- 마지막으로 디스패처 서블릿은 수신 된 모델 객체를 브라우저 페이지로 전송하여 결과를 표시합니다.
@Controller와 @RequestMapping은 Spring MVC 흐름에서 사용되는 두 가지 주요 주석입니다.
Q # 38) Dispatcher Servlet의 용도는 무엇입니까?
대답: Dispatcher Servlet은 클라이언트에서 들어오는 모든 HTTP 요청 및 응답을 처리하는 데 사용됩니다. 전반적으로 핸들러에서 컨트롤러로의 모든 통신을 제어하여 리졸버를 실제보기 페이지로 볼 수 있습니다.
Q # 39) Spring MVC에서 @Controller 및 @RequestMapping 어노테이션의 사용을 설명하십시오.
대답:
@제어 장치 – 컨트롤러처럼 작동하는 특정 클래스를 나타냅니다.
@RequestMapping – 기본적으로 URL을 전체 클래스 또는 특정 메서드에 매핑하는 데 사용됩니다.
Q # 40) 간단한 예제를 통해 Inversion of Control과 Dependency Injection을 설명하세요.
대답: 아시다시피, 응용 프로그램에서 종속성을 제거하는 데 사용됩니다.
DI가없는 코드 :
public class Student { Address address; Employee() { address= new Address();// here we are creating instance } }
Student와 Address는 동일한 인스턴스를 사용하므로 여기에 종속성이 생성됩니다.
DI를 사용한 코드 :
public class Student{ Address address; Employee(Address address) { this.address=address;//not creating instance } }
여기에는 인스턴스가 생성되지 않으므로 종속성이 생성되지 않으므로 코드가 더 유연하고 느슨하게 결합됩니다.
Q # 41) 조언과 그 유형을 설명하십시오.
대답: AOP가 취한 모든 조치를 조언이라고합니다.
다음과 같은 5 가지 유형의 조언이 있습니다.
- 조언하기 전에.
- 조언 후.
- 조언을 반환 한 후.
- 주위에 조언.
- 조언을 던집니다.
Q # 42) Spring이 지원하는 Object Relational Mapping의 다른 유형은 무엇입니까?
대답: Spring은 Hibernate, IBatis, TopLink, Java Data Object, OJB 및 JPA 등과 같은 ORM을 지원합니다.
Q # 43) 왜 Spring이 Spring Framework의 핵심적인 이점이나 프레임 워크보다 선호 되나요?
대답: 여러 가지 이유로 인해 프레임 워크보다 Spring이 선호됩니다. 그중 몇 가지가 아래에 언급되어 있습니다.
- Spring은 코어, 웹, 데이터 액세스, 테스트 등과 같은 하위 모듈을 통해 애플리케이션 개발의 많은 복잡한 문제를 해결합니다.
- Spring은 개발을위한 POJO 클래스를 제공하여 스트레스를 줄여줍니다.
- 다른 프레임 워크와의 강력한 통합.
- 좋은 응용 프로그램 테스트.
- 트랜잭션 관리 기능 및 모듈성.
Q # 44) Spring Batch는 무엇을 의미합니까?
대답: Spring 배치는 또한 엔터프라이즈 시스템을위한 강력한 배치 애플리케이션의 개발을 지원하기 위해 만들어진 경량 프레임 워크입니다.
Spring 배치는 생산성, 개발 접근 방식을 개선하고 사용자가 Spring에서 배운 특정 기능을 훨씬 쉽게 만듭니다.
Q # 45) Spring 배치 프레임 워크의 주요 용도는 무엇입니까?
대답: Spring 배치는 주로 파일을 읽고 쓰는 데 사용되며 읽기 또는 쓰기, 데이터 변환, 보고서 작성, 데이터 가져 오기 및 내보내기 등과 같은 데이터베이스에서 특정 작업을 수행하는 데에도 사용됩니다.
Q # 46) Spring 배치 아키텍처를 설명하십시오.
대답: 스프링 배치 아키텍처는 주로 애플리케이션, 코어 및 인프라의 세 가지 구성 요소 계층으로 구성됩니다.
애플리케이션은 개발자가 스프링 배치를 통해 생성 한 스크립트 및 배치 작업으로 구성됩니다. 코어에는 배치 작업을 시작하고 제어하는 데 필요한 모든 중요하고 필요한 클래스가 포함되어 있습니다. 마지막으로 인프라는 서비스, 리더, 작성자 등을 포함하여 애플리케이션과 핵심을 모두 처리합니다.
Q # 47) Spring Batch의 Tasklet을 설명하세요.
대답: Tasklet은 실행 시간 동안 리소스 정리, 삭제 또는 설정과 같은 하나의 작업 만 수행하기 위해 종종 호출되는 인터페이스입니다.
Q # 48) Spring Batch의 작동 원리를 설명하세요.
대답: 스프링 배치는 주로 아래에 언급 된 네 단계로 작동합니다.
- 첫째, step-it은 각각의 작업을 수행하도록 작업을 안내합니다.
- 데이터를 제공하는 itemReader 인터페이스가 있습니다.
- 데이터 변환을위한 itemProcessor 인터페이스가 있습니다.
- 마지막으로 원하는 결과를 생성하는 itemStreamWriter 인터페이스가 있습니다.
결론
이 기사가 Spring Framework에 대한 명확한 정보를 제공하기를 바랍니다. Spring과 그 기능, Spring이 사용되는 Applications, 왜 Application 개발에 필수적인지에 대해 설명했다.
Spring 모듈, 의존성 주입, Inversion of Control, 트랜잭션 관리, Aspect 지향 프로그래밍, 느슨한 결합 개념, Spring MVC 아키텍처, 중요한 Annotations, Bean 및 Autowiring.
위에서 언급 한 모든 주제를 다루는 모든 중요한 봄 인터뷰 질문이 여기에 포함되어 있습니다. 면접관에게 더 나은 이해를 제공하는 코드 예제의 도움으로 모든 개념을 설명하는 것이 항상 권장됩니다.
이 기사가 인터뷰를 정리하는 데 도움이되기를 바랍니다.