弹簧请求范围豆

2022-09-03 05:14:32

我如何设置一个每个请求将创建一次的bean。

我试图这样做:

   @Component
   @Scope(value = "request")
   public class TestBean {
        @PostConstruct
        public void init() {
             System.out.println("start request");
        }

        @PreDestroy
        public void onDestroy() {
             System.out.println("ends request");
        }
   }

谢谢。


答案 1

试试这个@Scope(value="request", proxyMode= ScopedProxyMode.TARGET_CLASS)

有关更多详细信息,请参阅此博客文章


答案 2

您可以通过 xml 配置将 Bean 设置为请求范围,如下所示

 <bean id="testBean" class="com.test.TestBean" scope="request">
    <aop:scoped-proxy/>
  </bean>

标记aop:scoped-proxy将用于使用代理注入您的bean。这是基于 xml 的方式,用于将 Bean 设置为请求范围。


推荐