如何设置一个 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");
}
}
谢谢。
您可以通过 xml 配置将 bean 设置为请求范围,如下所示
<bean id="testBean" class="com.test.TestBean" scope="request">
<aop:scoped-proxy/>
</bean>
标签 aop:scoped-proxy 将用于使用代理注入您的 bean。这是基于 xml 的方式来将 bean 设置为请求范围。
尝试使用范围名称而不是值:
@Scope(scopeName = "request", proxyMode = ScopedProxyMode.TARGET_CLASS)