Spring 의 Bean < 3 >

  • 역할 영역:
  • singleton: 단일 모드 입 니 다. 전체 Spring ioc 용기 에서 singleton 역할 영역 에 있 는 bean 은 하나의 예제 만 생 성 합 니 다.
  • prototype: 용기 의 getBean () 방법 으로 prototype 역할 도 메 인 bean 을 얻 을 때마다 새로운 bean 인 스 턴 스 가 생 긴 다.
  • request: 순서대로 http 요청 에 대해 request 역할 필드 의 bean 은 하나의 인 스 턴 스 만 생 성 합 니 다. 같은 http 요청 에서 프로그램 이 이 bean 을 요청 할 때마다 같은 인 스 턴 스 를 받 습 니 다.웹 응용 프로그램 에서 spring 을 사용 할 때 만 이 역할 영역 이 유효 합 니 다.
  • session: http 세 션 에 대해 session 역할 필드 의 bean 은 하나의 인 스 턴 스 만 생 성 합 니 다. 프로그램 이 이 bean 을 요청 할 때마다 같은 인 스 턴 스 를 받 습 니 다.웹 응용 프로그램 에서 spring 을 사용 할 때 만 이 역할 영역 이 유효 합 니 다. -global session: 모든 전역 http session 은 bean 인 스 턴 스 에 대응 합 니 다.전형 적 인 상황 에서 portlet context 를 사용 할 때 만 유효 합 니 다.웹 응용 프로그램 에서 spring 을 사용 할 때 만 이 역할 영역 이 유효 합 니 다.각각 sington 과 prototype
  • 으로 설정 되 어 있 습 니 다.
     
            
            
            
            
        
        
            
            
            
            
        
    

    테스트 코드
       ApplicationContext applicationContext = new ClassPathXmlApplicationContext("config/spring/spring-servlet.xml");
            User user0 = applicationContext.getBean("user", User.class);
            System.out.println(user0);
            User user = applicationContext.getBean("user", User.class);
            System.out.println(user);
            User user1 = applicationContext.getBean("user1", User.class);
            System.out.println(user1);
            User user2 = applicationContext.getBean("user1", User.class);
            System.out.println(user2);
            System.out.println(user0==user);
            System.out.println(user1==user2);
    

    출력 결과
    User{id=32324324, username='singleton', password='singleton', salt='singleton', locked=false}
    User{id=32324324, username='singleton', password='singleton', salt='singleton', locked=false}
    User{id=23443235, username='prototype', password='prototype', salt='prototype', locked=false}
    User{id=23443235, username='prototype', password='prototype', salt='prototype', locked=false}
    true
    false
    
  • bean 의 생명주기 2.1 Spring 은 bean 의 모든 속성 설정 에 성공 한 후 특정 행 위 를 수행 하 는 두 가지 방식 을 제공 합 니 다
  • init - methd 방법 사용
  • InitialingBean 인터페이스 실현, 실현 방법
  • void afterPropertiesSet() throws Exception;
    

    주 해 는 @ PostConstruct 2.2 Spring 을 사용 하여 bean 이 소각 하기 전의 특정 행 위 를 두 가지 방식 으로 제공 합 니 다.
  • destroy - methd 방법 사용
  • DisposableBean 인터페이스 실현, 실현 방법
  • void destroy() throws Exception;
    

    주해 사용 @ PreDestroy

    좋은 웹페이지 즐겨찾기