상위 35개 봄 면접 질문 및 답변: Ultimate Guide 2022
게시 됨: 2021-01-08Spring Framework와 관련된 인터뷰가 예정되어 있습니까? 아마도 당신은 최고의 Spring Framework 인터뷰 질문 을 찾기 위해 이 페이지를 방문했을 것입니다. 블로그에서 가장 많이 받는 Spring 인터뷰 질문과 답변에 대해 논의할 것입니다.
이러한 과정을 거치면 면접에서 놀라운 성과를 낼 수 있습니다. 시작하기 전에 현재 시장에서 Spring Framework에 대한 전반적인 수요에 대해 간략히 설명하겠습니다.
읽기: 인도의 풀 스택 개발자 수요
Spring은 Java 프로그래밍 언어를 모두를 위해 더 빠르고 간단하며 안전하게 만듭니다. 주요 초점은 속도이지만 간단하고 생산적입니다. 이 때문에 세계에서 가장 인기 있는 Java 프레임워크 중 하나가 되었습니다. 라이브러리는 유연하고 안정적입니다. 온라인 쇼핑, 커넥티드 카, 보다 혁신적인 기술 등 많은 곳에서 사용되고 있습니다.
또한 Amazon, Google 및 Alibaba와 같은 거대 기업에 대한 기여도 자랑합니다. 게다가 Spring 커뮤니티는 거대합니다. 그것은 모든 연령대로 구성되며 매우 다양합니다. 다음 단계로 나아가기 위한 훌륭한 리소스와 지원을 온라인에서 찾을 수 있습니다.
Java 프로그래머라면 Spring Framework가 중요합니다. 많은 회사는 프로그래머가 Spring Framework를 이해하거나 최소한 일부 모듈을 알고 있어야 합니다.

다음은 면접관이 물어볼 것으로 예상할 수 있는 몇 가지 주요 봄 인터뷰 질문과 답변입니다.
목차
2020년 봄 면접 질문 및 답변
Q.1 Spring Framework의 다른 버전은 무엇이며 주요 기능은 무엇입니까?
세 가지 버전은 Spring 2.5, Spring 3.0 및 Spring 4.0입니다.
Spring 2.5는 주석을 지원하는 첫 번째 버전이었습니다. 2007년에 출시되었습니다. Spring 3.0은 Java5의 업그레이드를 활용하고 JEE6에 대한 도움을 제공했습니다. 2년 후인 2009년에 출시되었습니다. Spring 4.0은 Java 8에 대한 포괄적인 지원을 제공하는 주요 변종이었습니다. 2013년에 출시되었습니다.
Q.2 Spring Framework 설명 또는 정의
오픈 소스 Java 플랫폼입니다. 무거운 엔터프라이즈 Java 기술의 옵션으로 사용됩니다. 간단히 말해서 Java 개발을 단순화하기 때문에 가볍습니다. 개발자는 Spring Framework를 사용하여 애플리케이션을 개발하고 CPU 메모리와 리소스가 제한된 컴퓨터에도 배포할 수 있습니다. 또한 Tapestry, JSF, EJB, Hibernate, Struts 등을 포함하되 이에 국한되지 않는 다양한 기타 프레임워크에 대한 지원을 제공합니다.
읽기: 전체 스택 프로젝트 아이디어 및 주제
Q.3 Spring Framework의 장점은 무엇인가요?
- Spring Framework는 오픈 소스이며 벤더 종속성이 없습니다.
- 계층 구조를 사용하기 때문에 정말 필요한 것만 사용할 수 있습니다.
- Spring Framework는 POJO를 사용하여 애플리케이션 테스트를 훨씬 쉽게 만듭니다.
- Spring Framework와 함께 Java의 다른 모든 프레임워크와 함께 사용할 수 있습니다. 어떠한 제한이나 제한도 부과하지 않습니다.
- Spring Framework는 모듈식 프레임워크입니다. 매우 유연합니다.
Q.4 Spring Framework의 다양한 기능은 무엇인가요?
- 경량: Spring Framework는 투명성과 크기에 대해 이야기할 때 가볍습니다.
- 제어 반전: 프로그램의 제어 흐름이 반전되는 원리입니다. 여기서 서비스, 프레임워크 및 기타 구성 요소와 같은 외부 소스는 프로그래머 대신 프로그램의 흐름을 제어합니다.
- Aspect 지향 프로그래밍: Spring의 Aspect 지향 프로그래밍은 애플리케이션 비즈니스 로직에서 시스템 서비스를 분리하여 바인딩 개발을 지원합니다.
- 컨테이너: 컨테이너는 Spring Framework의 핵심입니다. 객체를 생성하고 바인딩하고 구성하고 생성부터 끝까지의 전체 수명 주기를 담당하는 컨테이너입니다.
- MVC 프레임워크: Spring 프레임워크의 MVC 웹 애플리케이션 프레임워크는 사용하기 쉽고 구성 가능합니다. Spring MVC 프레임워크를 선택하는 대신 다른 프레임워크를 사용할 수 있습니다.
- 트랜잭션 관리: Spring Framework는 트랜잭션 관리를 위해 일반 추상화 계층을 사용합니다. 컨테이너가 적은 환경에서 Spring의 트랜잭션 지원을 사용할 수 있습니다.
- JDBC 예외 처리: 데이터베이스 관련 예외를 명시적으로 처리할 필요가 없습니다. Spring JDBC Framework는 JDBC 예외 처리를 사용하여 이를 처리합니다.
읽기: 전체 스택 개발자 인터뷰 질문
Q.5 Spring Framework에서 얼마나 많은 모듈을 찾을 수 있습니까? 이름을 지정합니다.
Core Container, Web, Data Access/Integration, AOP(Aspect Oriented Programming), Instrumentation, Test로 분류된 20개의 모듈을 찾을 수 있습니다.
Spring Core Container: 이름에서 알 수 있듯이 Spring Framework의 핵심 컨테이너입니다. 그것은 구성
- 스프링 코어
- 봄 콩
- 스프링 표현 언어
- 스프링 컨텍스트
웹: 이 계층은 웹 애플리케이션 생성을 지원합니다. 다음 모듈로 구성됩니다.
- 편물
- 웹 – MVC
- 웹 – 소켓
- 웹 – 포틀릿
데이터 액세스/통합: 이 계층은 데이터베이스와의 통신을 지원합니다. 다음 모듈로 구성됩니다.
- 자바 데이터베이스 연결 – JDBC
- 객체 관계형 매핑 – ORM
- 개체 XML 매퍼 – OXM
- 자바 메시징 서비스 – JMS
- 거래
측면 지향 프로그래밍: 이 계층에서 개발자는 포인트컷, 조언 등을 사용하여 코드를 분리할 수 있습니다.
계측: 이 계층은 클래스 로더 구현 및 클래스 계측을 지원합니다.
테스트: 이 계층은 TestNG 및 Junit을 사용한 테스트를 지원합니다.
다음과 같은 기타 기타 노드도 찾을 수 있습니다.
메시징: 이 모듈은 STOMP에 대한 지원을 제공합니다. 또한 WebSocket 클라이언트에서 STOMP 메시지를 라우팅하고 처리하는 데 필요한 주석 프로그래밍 모델을 지원합니다.
Aspect: 이 모듈은 AspectJ와의 통합을 지원합니다.
Q.6 Spring 설정 파일이란?
기본적으로 XML 파일입니다. 이 파일에서 클래스에 대한 모든 정보를 찾을 수 있습니다. 또한 이러한 클래스가 어떻게 구성되고 서로 알려지는 지에 대해 설명합니다. XML 구성 파일은 상세하므로 깨끗하게 유지해야 합니다. 그렇지 않으면 프로젝트가 큰 경우 관리가 어려워집니다.
Q.7 Spring 애플리케이션의 다른 구성요소를 설명하십시오.
일반적으로 Spring 애플리케이션은 다음 구성요소로 구성됩니다.
- 인터페이스: 모든 기능은 인터페이스에 정의됩니다.
- Bean 클래스: 여기에서 set 및 get 함수와 함께 속성을 찾을 수 있습니다.
- Spring AOP(Aspect-Oriented Programming): 관심사를 교차하는 기능을 제공합니다.
- Bean 구성 파일: 이 파일에는 클래스의 세부사항과 구성 방법이 포함되어 있습니다.
- 사용자 프로그램: 사용자 프로그램이 기능을 사용합니다.
Q.8 Spring Framework의 다양한 활용법을 설명하시오.
Spring Framework는 다음과 같은 여러 가지 방법으로 사용할 수 있습니다.
- Spring Framework는 포괄적인 Spring 웹 애플리케이션으로 사용할 수 있습니다.
- Spring Framework는 Spring Frameworks middle-tier를 사용하여 타사 웹 프레임워크로 사용할 수 있습니다.
- Spring Framework는 원격 사용에 사용할 수 있습니다.
- Spring Framework는 기존 POJO를 래핑할 수 있는 Enterprise Java Bean으로 사용할 수 있습니다.
Q.9 Spring IOC Container란 무엇인가?
컨테이너는 Spring Framework의 핵심입니다. 객체를 생성하고, 바인딩하고, 구성하고, 생성부터 끝까지의 전체 수명 주기를 담당하는 것은 컨테이너입니다.
Spring 컨테이너는 의존성 주입을 사용하여 애플리케이션을 생성하는 구성 요소를 관리합니다. 컨테이너는 Java 주석, Java 코드 또는 XML에서 제공하는 구성 메타데이터를 읽어 생성, 설정 및 호출할 개체에 대한 지침을 얻습니다.
Q.10 의존성 주입이란 무엇입니까?
Dependency Injection에서는 객체를 생성하는 대신 객체 생성 방법을 설명하면 됩니다. 개발자는 구성 파일의 특정 구성 요소에 필요한 서비스를 설명해야 합니다. 서비스를 코드의 구성 요소에 직접 연결할 필요가 없습니다. 그것들은 Spring IoC 컨테이너에 의해 함께 연결됩니다.
Q.11 Dependency Injection은 몇 가지 방법으로 할 수 있나요?
의존성 주입은 다음과 같이 세 가지 방법으로 수행됩니다.
- 생성자 주입
- 세터 주입
- 인터페이스 주입
그러나 Spring Framework에서는 생성자 주입과 설정자 주입만 사용합니다.
Q.12 생성자 주입이 세터 주입과 다른 점은 무엇입니까?
생성자 주입 | 세터 주입 |
불완전하거나 제한된 주입은 없습니다. | 불완전하거나 제한된 주입이 있을 수 있습니다. |
setter 속성을 재정의하지 않습니다. | 생성자 속성을 재정의합니다. |
변경이 완료되면 새 인스턴스를 생성합니다. | 변경이 이루어진 경우 새 인스턴스를 생성하지 않습니다. |
많은 속성에 대해 더 잘 작동합니다. | 더 적은 수의 속성에 대해 더 잘 작동합니다. |
Q.13 Spring에서 사용할 수 있는 IOC 컨테이너의 종류는 몇 가지인가요?
일반적으로 다음과 같은 두 개의 IOC 컨테이너를 찾을 수 있습니다.
- BeanFactory: BeanFactory는 빈 그룹을 구성하는 일종의 팩토리 클래스입니다. 클라이언트가 요청할 때마다 빈을 인스턴스화합니다.
- ApplicationContext: ApplicationContext 인터페이스는 BeanFactory 인터페이스 위에 생성됩니다. BeanFactory에서 제공하는 기능 외에 몇 가지 추가 기능을 제공합니다.
Q.14 BeanFactory와 ApplicationContext의 차이점 몇 가지를 알려주세요.
빈팩토리 | 애플리케이션 컨텍스트 |
org.springframework.beans.factory.BeanFactory에서 설명하는 인터페이스이다. | org.springframework.context.ApplicationContext에서 설명하는 인터페이스이다. |
지연 초기화를 사용합니다. | 적극적인 초기화를 사용합니다. |
구문을 사용하여 리소스 개체를 명시적으로 제공합니다. | 자체적으로 리소스 개체를 빌드하고 관리합니다. |
국제화에 도움이 되지 않는다 | 국제화를 돕습니다 |
주석 기반 종속성을 지원하지 않습니다. | 주석 기반 종속성을 지원합니다. |
Q.15 IoC의 몇 가지 이점은 무엇입니까?
IoC의 이점 중 일부는 다음과 같습니다.
- 애플리케이션에 필요한 코드의 양이 줄어듭니다.
- 단위 테스트 케이스에서 싱글톤이나 JNDI 조회 메커니즘이 필요하지 않기 때문에 애플리케이션을 테스트하기가 훨씬 쉽습니다.
- 최소한의 노력과 최소한의 간섭 메커니즘으로 느슨한 결합을 권장합니다.
- 서비스의 열렬한 인스턴스화 및 지연 로딩을 돕습니다.
Q.16 스프링빈이란?
Spring Beans는 사용자 애플리케이션의 백본 역할을 하는 객체입니다. Bean은 Spring IoC 컨테이너에 의해 제어됩니다. 이를 제어한다는 것은 Spring IoC 컨테이너에 의해 인스턴스화, 구성, 연결 및 관리됨을 의미합니다. Bean은 사용자가 컨테이너에 제공하는 구성 메타데이터를 사용하여 생성됩니다.

Q.17 구성 메타데이터는 Spring 컨테이너에 어떻게 제공되나요?
다음 중 한 가지 방법으로 구성 메타데이터를 Spring 컨테이너에 제공할 수 있습니다.
- 주석 기반 구성: 관련 클래스에 대한 주석을 사용하여 구성 요소 클래스 자체에 빈 연결을 설명할 수 있습니다. 기본 설정이 아닙니다. 따라서 이를 사용하려면 Spring 구성 파일에서 활성화해야 사용할 수 있습니다.
- XML 기반 구성: Bean에 필요한 종속성과 서비스는 구성 파일에 언급되어 있습니다. 이것들은 XML 형식입니다. 이들은 많은 빈 정의와 애플리케이션별 구성 옵션으로 구성됩니다. 일반적으로 빈 태그로 시작합니다.
- Java 기반 구성: Spring Framework의 새로운 Java 구성 지원의 주요 기능은 @Bean 주석 메서드와 @Configuration 주석 클래스입니다.
Q.18 Spring은 몇 개의 빈 스코프를 지원하나요?
다음과 같은 5가지 범위를 지원합니다.
- 싱글톤: 이것은 Spring IoC 컨테이너당 단일 인스턴스에 대한 빈 정의의 범위를 제공합니다.
- 프로토타입: 이것은 단일 빈 정의에 임의의 수의 객체 인스턴스를 가질 수 있는 범위를 제공합니다.
아래 범위는 사용자가 웹 인식 ApplicationContext를 사용하는 경우에만 사용할 수 있습니다.
- 요청: 이것은 HTTP 요청에 대한 빈 정의의 범위를 제공합니다.
- 세션: 이것은 HTTP 세션에 대한 빈 정의의 범위를 제공합니다.
- 글로벌 세션: 이것은 글로벌 HTTP 세션에 대한 빈 정의의 범위를 제공합니다.
Q.19 Spring Bean Factory Container의 Bean 라이프사이클을 설명하시오.
- Spring 컨테이너는 먼저 XML 파일의 빈 정의에서 빈을 인스턴스화합니다.
- 종속성 주입을 사용하는 Spring은 모든 속성을 채웁니다.
- 팩토리는 빈이 BeanNameAware 인터페이스를 실행하는 경우 빈의 ID를 제공하여 setBeanName()을 호출합니다.
- 빈이 BeanFactoryAware 인터페이스를 실행하면 팩토리는 자신의 인스턴스를 생성하여 setBeanFactory()를 호출합니다.
- Bean과 관련된 BeanPostProcessor가 있으면 preProcessBeforeInitialization() 메소드가 호출됩니다.
- bean이 init 메소드를 지정하면 호출됩니다.
- Bean과 관련된 BeanPostProcessor가 있으면 preProcessAfterInitialization() 메소드가 호출됩니다.
Q.20 빈 배선 설명
Bean 배선은 모든 Bean이 Spring 컨테이너 내부에서 함께 결합되는 경우입니다. Spring 컨테이너는 어떤 빈이 필요한지, 빈을 함께 연결하기 위해 의존성 주입을 어떻게 사용해야 하는지 이해해야 합니다.
Q.21 자동배선이란 무엇이며 자동배선의 다른 모드의 명칭은 무엇입니까?
Spring 컨테이너는 연결하는 빈 사이의 관계를 자동으로 연결하는 기능이 있습니다. Spring은 BeanFactory의 내용을 보고 자동으로 빈의 협력자를 해결할 수 있습니다.
빈 자동 배선의 다른 모드는 다음과 같습니다.
- 아니오: 이것은 자동 배선이 없음을 의미하는 사전 선택된 옵션입니다. 연결을 위해 명시적 빈 참조를 사용해야 합니다.
- byName: Bean의 이름을 기반으로 객체 종속성을 주입합니다. XML 파일의 정확한 이름으로 설명되는 빈과 속성을 쌍으로 연결하고 연결합니다.
- byType: 이름에서 알 수 있듯이 유형에 따라 개체 종속성을 주입합니다. 유형이 XML 파일의 빈 이름 중 하나와 일치하는 경우 속성을 일치시키고 연결합니다.
- 생성자: 생성자는 클래스의 생성자를 호출하여 종속성을 주입합니다. 그것은 많은 매개 변수를 가지고 있습니다.
- 자동 감지: 기본적으로 컨테이너는 생성자를 사용하여 자동 연결됩니다. 실패하면 byType으로 자동 연결을 시도합니다.
Q.22 자동배선의 제한사항은 무엇입니까?
다음과 같은 자동 배선을 사용할 때 직면하는 몇 가지 제한 사항이 있습니다.
- 재정의 가능성: <constructor-arg> 및 <property> 설정을 사용하여 종속성을 지정할 수 있습니다. 자동 배선을 무시합니다.
- 기본 데이터 유형: 기본 데이터 유형, 클래스 및 문자열은 자동 연결될 수 없습니다.
- 복잡한 성격: 자동 배선은 본질적으로 혼란스럽기 때문에 명시적 배선이 자동 배선보다 선호됩니다.
Q.23 Annotation 기반의 컨테이너 설정이란?
XML 설정의 대안인 주석 기반 컨테이너 구성은 빈 배선을 설명하는 데 사용됩니다. 개발자는 메서드, 클래스 또는 필드 선언에 대한 주석을 사용하여 구성을 구성 요소 클래스로 전송합니다.
Q.24 Spring에서 어노테이션 배선을 어떻게 켜나요?
Annotation 연결은 기본적으로 Spring 컨테이너에서 꺼져 있습니다. 따라서 주석 기반 연결을 사용하려면 <context:annotation-config/> 요소를 설정하여 Spring 구성 파일에서 활성화해야 합니다.
Q.25 Spring에서 @Controller, @Component, @Repository & @Service와 같은 다양한 주석의 차이점을 설명해주세요.
@Controller: 이것은 Spring Web MVC 컨트롤러로서의 클래스를 나타낸다. Dependency Injection 컨테이너로 표시된 빈을 자동으로 가져옵니다.
@Component: Java 클래스를 Bean으로 나타냅니다. 이것은 모든 Spring 관리 구성 요소에 대한 일반적인 스테레오타입입니다. Spring의 컴포넌트 스캐닝 프로세스는 이를 선택하여 애플리케이션 컨텍스트로 가져올 수 있습니다.
@Service: 이 주석은 컴포넌트 주석의 영역입니다. @Component 주석에 대한 새로운 동작은 없습니다. 의도를 적절하게 지정하기 때문에 서비스 계층 클래스에서 @Component 대신 @Service를 사용할 수 있습니다.
@Repository: 이 주석은 @Component 주석의 영역입니다. 동일한 기능과 용도로 제공됩니다. 그러나 정확히 DAO에 대한 몇 가지 추가 이점을 제공합니다. DAO를 DI 컨테이너로 가져오고 Spring DataAccessException으로 변환하기 위해 확인되지 않은 예외를 한정합니다.
Q.26 Spring DAO 지원 설명
Spring의 Data Access Object 지원은 Hibernate, JDBC 또는 JDO와 같은 기술에 적절하고 안정적인 방식으로 쉽게 액세스할 수 있도록 합니다. 번거로움 없이 기술을 선택할 수 있습니다. 또한 이 기술 각각과 관련된 예외를 잡는 것에 대해 스트레스를 받지 않고 코딩할 수 있습니다.
Q.27 Spring JDBC API에서 사용할 수 있는 클래스는 무엇입니까?
JDBC API에 있는 클래스는 다음과 같습니다.
- Jdbc템플릿
- SimpleJdbc템플릿
- NamedParameterJdbcTemplate
- SimpleJdbc삽입
- SimpleJdbcCall
Q.28 Spring을 이용하여 Hibernate에 접근할 수 있는 방법은 무엇인가?
Spring을 사용하여 Hibernate에 접근할 수 있는 두 가지 방법이 있다:
- 콜백 및 최대 절전 모드 템플릿을 사용하는 Inversion of Control 메서드.
- AOP 인터셉터 노드 적용 및 HibernateDAOSupport 확장.
Q.29 Spring에서 지원하는 트랜잭션 관리 유형의 이름
Spring은 두 가지 유형의 트랜잭션 관리를 지원합니다. 그들은:
- 프로그래밍 방식의 트랜잭션 관리: 여기에서 트랜잭션은 프로그래밍의 도움으로 제어됩니다. 상당한 유연성을 제공합니다. 그러나 유지하기가 어렵습니다.
- 선언적 트랜잭션 관리: 여기서 트랜잭션 관리는 비즈니스 코드와 별도로 유지됩니다. 주석 또는 XML 기반 구성만 사용하여 트랜잭션을 제어할 수 있습니다.
Q.30 AOP 설명
AOP는 Aspect-arranged 프로그래밍으로 알려져 있습니다. 소프트웨어 엔지니어가 표준 의무 분담을 뛰어넘는 교차 문제 또는 행동을 모듈화할 수 있도록 하는 프로그래밍 시스템입니다. 교차 절단 문제의 예는 로깅 및 트랜잭션 관리입니다. AOP의 핵심은 aspect 이다. 다양한 클래스에 재사용 가능한 모듈로 영향을 줄 수 있는 사례를 보여줍니다.
Q.31 Aspect는 무엇을 의미합니까?
Aspect는 여러 객체를 가로지르는 관심사의 모듈화입니다. J2EE의 교차 문제에 대한 좋은 예는 트랜잭션 관리 응용 프로그램입니다. Aspect는 일반 클래스 또는 Spring Framework의 @Aspect 주석으로 설명된 일반 클래스를 사용하여 수행됩니다.
Q.32 JoinPoint란 무엇입니까?
프로그램의 실행을 JoinPoint라고 하는 지점(예: 예외 처리 또는 메소드 실행). Spring AOP에서 JoinPoint는 일관되게 메소드 실행을 나타냅니다.
Q.33 Spring MVC 프레임워크란 무엇을 의미합니까?
Spring 웹 MVC 프레임워크는 모델-뷰-컨트롤러 아키텍처와 바로 사용할 수 있는 구성 요소를 제공합니다. 이러한 구성 요소를 사용하여 유연하고 느슨하게 결합된 웹 앱을 만들 수 있습니다. MVC 패턴은 비즈니스 로직, 입력 로직 및 UI 로직과 같은 애플리케이션의 다양한 측면을 격리하는 동시에 이러한 모든 구성 요소 간에 느슨한 결합을 제공합니다.
Q.34 DispatcherServlet 설명

이것이 Spring Web MVC 프레임워크의 핵심이다. 모든 HTTP 요청 및 응답을 관리합니다. DispatcherServlet은 구성 파일에서 핸들러 매핑 항목을 가져와 컨트롤러에 미리 요청을 전달합니다. 그런 다음 컨트롤러는 Model 및 View의 개체를 제공합니다. DispatcherServlet은 구성 파일에서 뷰 리졸버의 항목을 표시하고 정의된 뷰 컴포넌트를 호출합니다.
Q.35 WebApplicationContext 설명
WebApplicationContext는 일반 ApplicationContext를 확장한 것입니다. 웹 애플리케이션에 필요한 몇 가지 기능이 더 있습니다. 테마를 해결하고 어떤 서블릿과 연결되는지 결정하는 기능이 있기 때문에 일반 ApplicationContext와 다릅니다.
세계 최고의 대학에서 온라인으로 소프트웨어 과정을 배우십시오 . 이그 제 큐 티브 PG 프로그램, 고급 인증 프로그램 또는 석사 프로그램을 획득하여 경력을 빠르게 추적하십시오.
결론
우리는 면접관이 묻는 대부분의 봄 면접 질문을 다루었습니다. 더 자세히 알아보고 업계 전문가의 멘토링이 필요한 경우 upGrad & IIIT Banglore의 Executive PG Program Full-Stack Software Development 를 확인하십시오.
자바 스프링이란?
Sun Microsystems에서 개발한 Java Spring은 애플리케이션 개발을 지원하는 플랫폼입니다. Spring은 확장 가능한 애플리케이션을 작성하는 데 도움이 되는 Java 기반 서비스 및 API의 모음입니다. Spring은 오픈 소스 애플리케이션 개발 프레임워크입니다. 모든 Java 기반 응용 프로그램과 함께 사용할 수 있으므로 오픈 소스로 만듭니다. Spring은 엔터프라이즈 애플리케이션을 지원하기 위해 유틸리티 클래스, 예외 처리, AOP 및 인터페이스를 제공합니다. Java Spring은 Java 기반 서버 측 애플리케이션을 지원하고 전체 개발 프로세스를 단순화하는 플랫폼입니다. Java 기반 서버와 함께 사용할 수 있는 매우 유연한 플랫폼입니다. 유틸리티 클래스 및 예외 처리 서비스를 제공합니다. 트랜잭션 지원 시스템이 있으며 데이터베이스와의 쉬운 바인딩을 제공합니다.
스프링 MVC란?
Spring MVC(Model View Controller)는 Java로 작성된 오픈 소스 웹 애플리케이션 프레임워크이며 SpringSource 팀에서 지난 4년 동안 개발했습니다. Servlet API를 기반으로 개발되었으며 Java EE 5 웹 애플리케이션 및 Google Web Toolkit 애플리케이션에 사용할 수 있습니다. 또한 Spring Data 및 Spring AOP와 통합되므로 다른 프레임워크 중에서 Hibernate, JPA 및 aspect 지향 프로그래밍과 함께 사용할 수 있습니다. Spring MVC는 고도로 구성 가능하며 Spring의 IoC(Inversion of Control) 원칙을 지원합니다. 요청 간에 응용 프로그램 상태 정보를 유지할 수 있도록 상태 저장 웹 응용 프로그램 구축을 지원합니다.
Spring Hibernate란 무엇인가?
Hibernate는 Java용 객체 관계형 매핑(ORM) 라이브러리입니다. Hibernate는 Java 클래스 객체의 지속성을 처리하도록 설계되었습니다. 강력하고 가벼우며 휴대성이 뛰어난 ORM 프레임워크입니다. 최대 절전 모드는 GNU LGPL(Lesser General Public License)에 따라 사용할 수 있습니다. Spring Data는 친숙한 Spring IoC(Inversion of Control) 패러다임을 사용하여 보다 객체 지향적인 방식으로 데이터에 액세스하고 관리하기 위한 구성 요소 세트를 제공하는 Spring Framework 내의 프로젝트입니다. Hibernate는 단지 ORM 프레임워크일 뿐입니다. 반면에 Spring Data는 Relational Database, NoSQL, Flat 파일 등과 같은 다양한 저장 메커니즘을 통해 추상화 계층을 생성하려는 노력입니다.