복붙노트

[SPRING] 스프링 프레임 워크를 경량 컨테이너로 만드는 것은 무엇입니까?

SPRING

스프링 프레임 워크를 경량 컨테이너로 만드는 것은 무엇입니까?

사람들이 Spring이 다른 프레임 워크에 비해 가벼운 컨테이너라고 언급 할 때 그것들은 무엇을 의미합니까? 시스템에서 메모리를 덜 차지하거나 EJB 컨테이너에 대해 시작 중지와 같은 작업이 없으며 특수 컨테이너를 사용하지 않습니까?

스프링을 경량 컨테이너로 만드는 이유는 무엇입니까?

해결법

  1. ==============================

    1.그것이 "경량"이든 "무거운"이든, 그것은 모두 비교에 관한 것입니다. 일반적인 J2EE 컨테이너와 비교할 때 Spring은 경량이라고 생각합니다. 제공된 기능 (예 : 트랜잭션 제어, 수명주기, 구성 요소 종속성 관리)을위한 추가 메모리 공간을 고려할 때 가볍습니다.

    그것이 "경량"이든 "무거운"이든, 그것은 모두 비교에 관한 것입니다. 일반적인 J2EE 컨테이너와 비교할 때 Spring은 경량이라고 생각합니다. 제공된 기능 (예 : 트랜잭션 제어, 수명주기, 구성 요소 종속성 관리)을위한 추가 메모리 공간을 고려할 때 가볍습니다.

    그러나 때때로 컨테이너의 "무게"와 비교할 다른 기준이 있습니다 (예 : 설계 및 구현에 대한 방해; 제공되는 시설 등

    아이러니하게도 Spring은 Guice 및 Plexus와 같은 다른 POJO 기반 컨테이너와 비교할 때 때때로 무거운 컨테이너로 취급됩니다.

  2. ==============================

    2."가벼운"은 주로 유행어라고 생각합니다. 의미는 매우 주관적이며 상황에 따라 다릅니다. "메모리 공간 부족"을 의미 할 수 있으며, 실행 오버 헤드와 시작 오버 헤드가 낮을 수 있습니다. 사람들은 또한 그것을 사용하여인지 수준의 복잡성 및 / 또는 학습 곡선을 구별하는 데 사용합니다. 어쨌든, "가벼운"이 "무게"가되는 "가벼운"이되는 스케일에 정의 된 지점이 없기 때문에 확실히 상대적입니다.

    "가벼운"은 주로 유행어라고 생각합니다. 의미는 매우 주관적이며 상황에 따라 다릅니다. "메모리 공간 부족"을 의미 할 수 있으며, 실행 오버 헤드와 시작 오버 헤드가 낮을 수 있습니다. 사람들은 또한 그것을 사용하여인지 수준의 복잡성 및 / 또는 학습 곡선을 구별하는 데 사용합니다. 어쨌든, "가벼운"이 "무게"가되는 "가벼운"이되는 스케일에 정의 된 지점이 없기 때문에 확실히 상대적입니다.

    나는 개인적으로 그것이 실제적이고 정량적 인 의미가 없기 때문에 위험한 단어라고 생각합니다. 어쨌든 사람들이 사용하고자하는 특정 프레임 워크의 "프로"섹션을 강화하기 위해 사람들이 아키텍처 제안을 던지는 것입니다. 그러한 상황에서 사용되는 것을 보거나 들으면 "무엇을 의미합니까?"라고 물어볼 수있는 완벽한 기회입니다. 화가 나거나 답답한 반응 (눈이 구르고 머리가 떨림과 결합 됨)을 얻는 경우, 사람이 특정 건축물을 결정했지만 그에 대한 일관된 또는 객관적인 이유를 공식화하지 않았 음을 의미합니다.

    편집 : 봄을 "컨테이너"로 분류할지 확실하지 않지만 비슷한 사과와 오렌지 토론입니다. 프레임 워크라고 부릅니다.

  3. ==============================

    3.Spring은 일부를 사용하기 위해 Spring을 모두 필요로하지 않기 때문에 자체를 '경량'이라고 부릅니다. 예를 들어 Spring MVC없이 Spring JDBC를 사용할 수 있습니다.

    Spring은 일부를 사용하기 위해 Spring을 모두 필요로하지 않기 때문에 자체를 '경량'이라고 부릅니다. 예를 들어 Spring MVC없이 Spring JDBC를 사용할 수 있습니다.

    Spring은 다양한 목적으로 다양한 모듈을 제공합니다. 필요한 모듈에 따라 종속성을 주입 할 수 있습니다. 즉, 특정 모듈을 사용하기 위해 모든 종속성 또는 모든 JAR을 다운로드하거나 삽입 할 필요가 없습니다.

    Java EE 응용 프로그램을 실행하려는 경우 자체적으로 실행될 작은 응용 프로그램 만 만들 수는 없습니다. Glassfish, WebLogic 또는 WebSphere와 같은 애플리케이션을 실행하려면 Java EE 애플리케이션 서버가 필요합니다. 대부분의 응용 프로그램 서버는 크고 복잡한 소프트웨어로 설치 또는 구성이 쉽지 않습니다.

    Spring에는 그런 것이 필요하지 않습니다. 예를 들어 작은 독립형 프로그램에서 Spring 종속성 주입을 사용할 수 있습니다.

  4. ==============================

    4.스프링은 다른 J2ee 컨테이너, 특히 EJB2.1 때문에 더 많은 구성이 필요하기 때문에 경량입니다. 코드를 많이 할 수 없으며 응용 프로그램을 포장하기위한 복잡한 디렉토리 구조를 가지고 있으며 전체적으로 추가 메모리가 필요합니다. 경량입니다.

    스프링은 다른 J2ee 컨테이너, 특히 EJB2.1 때문에 더 많은 구성이 필요하기 때문에 경량입니다. 코드를 많이 할 수 없으며 응용 프로그램을 포장하기위한 복잡한 디렉토리 구조를 가지고 있으며 전체적으로 추가 메모리가 필요합니다. 경량입니다.

  5. ==============================

    5.POJO (Plain old java object)를 사용하기 때문에 스프링이 경량이라고 말할 수 있다고 생각합니다 .POJO 클래스는 구현 할 필요가 없으며 기술 관련 API (Interfaces, Classes)를 확장하거나 기술 관련 API에 국한되지 않습니다.

    POJO (Plain old java object)를 사용하기 때문에 스프링이 경량이라고 말할 수 있다고 생각합니다 .POJO 클래스는 구현 할 필요가 없으며 기술 관련 API (Interfaces, Classes)를 확장하거나 기술 관련 API에 국한되지 않습니다.

  6. from https://stackoverflow.com/questions/8117166/what-makes-the-spring-framework-a-lightweight-container by cc-by-sa and MIT license