복붙노트

[SPRING] 봄 콩 범위

SPRING

봄 콩 범위

누군가가 스프링 빈에있는 스코프가 무엇인지를 설명 할 수 있습니까? 저는 항상 '프로토 타입'을 사용했습니다. 그러나 그 대신에 다른 매개 변수를 넣을 수 있습니까?

내가 말하는 것에 대한 예

    <bean id="customerInfoController" class="com.action.customer.Controller" scope="prototype">
    <property name="accountDao" ref="accountDao"/>
    <property name="utilityDao" ref="utilityDao"/>
    <property name="account_usageDao" ref="account_usageDao"/>  
</bean>

해결법

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

    1.봄 사양에서 지원되는 다섯 가지 유형의 bean 범위가 있습니다.

    봄 사양에서 지원되는 다섯 가지 유형의 bean 범위가 있습니다.

    * default는 태그에 명시 적으로 제공된 범위가 없을 때를 의미합니다. 여기에 대한 자세한 내용은 http://static.springsource.org/spring/docs/3.0.0.M3/reference/html/ch04s04.html을 참조하십시오.

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

    2.Spring에서 빈 범위는 Spring 컨테이너에서 호출자에게 반환되어야하는 bean 인스턴스 유형을 결정하는 데 사용됩니다.

    Spring에서 빈 범위는 Spring 컨테이너에서 호출자에게 반환되어야하는 bean 인스턴스 유형을 결정하는 데 사용됩니다.

    5 가지 유형의 bean 범위가 지원됩니다.

    대부분의 경우 Spring의 핵심 범위 인 싱글 톤과 프로토 타입 만 처리 할 수 ​​있으며 기본 범위는 싱글 톤입니다.

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

    3.각 범위에 대한 자세한 설명은 Spring bean 범위에서 찾을 수 있습니다. 아래는 요약입니다.

    각 범위에 대한 자세한 설명은 Spring bean 범위에서 찾을 수 있습니다. 아래는 요약입니다.

    싱글 톤 - (기본값) 단일 Bean 정의를 Spring IoC 컨테이너 당 하나의 객체 인스턴스로 범위 지정한다.

    prototype - 하나의 bean 정의를 임의의 개수의 객체 인스턴스로 확장합니다.

    request - 단일 bean 정의를 단일 HTTP 요청의 라이프 사이클 범위로 지정합니다. 즉, 각 HTTP 요청에는 단일 Bean 정의의 뒷면에서 작성된 Bean의 자체 인스턴스가 있습니다. 웹 인식 Spring ApplicationContext의 컨텍스트에서만 유효합니다.

    session - 단일 Bean 정의를 HTTP 세션의 라이프 사이클 범위로 확장합니다. 웹 인식 Spring ApplicationContext의 컨텍스트에서만 유효합니다.

    global session - 단일 bean 정의를 전역 HTTP 세션의 라이프 사이클 범위로 확장합니다. 일반적으로 포틀릿 컨텍스트에서 사용되는 경우에만 유효합니다. 웹 인식 Spring ApplicationContext의 컨텍스트에서만 유효합니다.

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

    4.Spring 문서는 다음과 같은 표준 범위를 기술한다.

    Spring 문서는 다음과 같은 표준 범위를 기술한다.

    추가 사용자 지정 범위는 CustomScopeConfigurer를 사용하여 만들고 구성 할 수도 있습니다. Spring Webflow가 추가 한 플로우 스코프의 예가 있습니다.

    그건 그렇고, 당신은 항상 내가 이상한 것을 발견 한 프로토 타입을 사용했다고 주장합니다. 표준 범위는 싱글 톤이며 응용 프로그램 개발시 프로토 타입 범위가 거의 필요하지 않습니다. 아마 이것 좀 봐봐.

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

    5.Spring 문서에서 언급했듯이 Spring은 6 개의 범위를 지원합니다.이 중 4 개는 웹 인식 ApplicationContext를 사용하는 경우에만 사용할 수 있습니다.

    Spring 문서에서 언급했듯이 Spring은 6 개의 범위를 지원합니다.이 중 4 개는 웹 인식 ApplicationContext를 사용하는 경우에만 사용할 수 있습니다.

  6. ==============================

    6.프로토 타입 bean 정보 :

    프로토 타입 bean 정보 :

    ref : https://docs.spring.io/spring/docs/3.0.0.M3/reference/html/ch04s04.html#beans-factory-scopes-prototype

  7. ==============================

    7.Spring-Cloud-Config의 문서에 따르면 기존 5 개 옆에 하나의 추가 범위가있다. @RefreshScope입니다.

    Spring-Cloud-Config의 문서에 따르면 기존 5 개 옆에 하나의 추가 범위가있다. @RefreshScope입니다.

    다음은 RefreshScope에 대한 간단한 설명입니다.

  8. from https://stackoverflow.com/questions/17599216/spring-bean-scopes by cc-by-sa and MIT license