반응형
Spring Bean을 다시 초기화하는 방법은 무엇입니까?
런타임에 Spring Bean을 다시 초기화할 수 있습니까?
My Bean은 정적 설정을 사용하여 경우에 따라 변경된 다음 Bean을 다시 초기화해야 합니다.
스프링 컨텍스트에서 싱글톤 빈을 업데이트하는 세 가지 옵션이 있으며, 사용 사례에 적합한 옵션을 선택할 수 있습니다.
재로드 방법 인 더 빈
빈에 속성을 업데이트/재로드할 메서드를 만듭니다.트리거에 따라 스프링 컨텍스트에서 빈에 액세스한 다음 재로드 메서드를 호출하여 싱글톤이기 때문에 빈 속성을 업데이트하면 자동 배선/주입되는 모든 스프링 컨텍스트에서도 업데이트됩니다.
빈 삭제 및 등록
사용할 수 있습니다.DefaultSingletonBeanRegistry
콩을 제거하고 다시 등록합니다.이에 대한 유일한 단점은 소비자 클래스에서 이미 자동 배선/주입된 빈의 이전 인스턴스를 새로 고치거나 다시 로드하지 않는다는 것입니다.
DefaultSingletonBeanRegistry registry = (DefaultSingletonBeanRegistry) context.getBeanFactory();
registry.destroySingleton({yourbean}) //destroys the bean object
registry.registerSingleton({yourbeanname}, {newbeanobject}) //add to singleton beans cache
@범위 새로 고침
구성 변경에서 빈 값 속성을 새로 고치는 데 유용합니다.하지만 그것은 매우 제한적이고 구체적인 목적을 가지고 있습니다.자세한 내용을 읽을 수 있는 리소스입니다.
언급URL : https://stackoverflow.com/questions/51218086/how-to-reinitialize-a-spring-bean
반응형
'programing' 카테고리의 다른 글
원시 유형을 확장하는 TypeScript에서 공칭 유형을 만드는 방법이 있습니까? (0) | 2023.07.01 |
---|---|
트리 계층 구조를 가져오기 위한 CTE 재귀 (0) | 2023.07.01 |
ORA-00947 유형을 전역으로 선언하는 동안 값이 충분하지 않음 (0) | 2023.07.01 |
DBNull에서 다른 유형으로 개체를 캐스트할 수 없습니다. (0) | 2023.07.01 |
LIKE가 없는 Oracle 문자열에서 하위 문자열 확인 (0) | 2023.07.01 |