[Spring] Spring bean의 scope를 prototype만 가능하도록 하려면?

안녕하세요, 하마연구소입니다.

스프링 빈의 scope를 항상 prototype만 가능하도록 하려면 아래 코드와 같이 BeanFactoryAware 인터페이스를 구현하면 됩니다.

public class MyBean implements BeanNameAware, BeanFactoryAware {
    /**
     * 빈 이름
    */
    protected String beanName;

    @Override
    public void setBeanName(String name) {
        this.beanName = name;
    }

    @Override
    public void setBeanFactory(BeanFactory beanFactory) throws BeansException {
        // scope가 prototype만 허용
        if (beanFactory.isPrototype(this.beanName) == false) {
            throw new BeanCreationException(this.beanName, "Scope of bean must be prototype");
        }
    }
}

감사합니다.

댓글

Popular Posts

AI 시대, SEO가 아닌 GEO에 포커싱해야 하는 이유

AI 메모리 HBM 외에 HBF도 주목

네이버 쇼핑 잘 나가네요, 구팡이 절대 강자인줄~