我有一个由具有以下类的服务创建的 bean:
@Configuration
public class AccessManager {
@Bean(name="access", destroyMethod="destroy")
@Scope(value="session", proxyMode=ScopedProxyMode.TARGET_CLASS)
@Autowired
public Access create(HttpServletRequest request) {
System.out.println(request.getRemoteAddr());
return new Access();
}
}
一切都按预期工作,除了在应用程序启动时调用此方法,可能是因为我有一些其他使用该 bean 的单例Access
bean。在启动时没有请求绑定到线程,并且java.lang.IllegalStateException
在尝试访问request
参数的任何属性时预计会得到一个。
没问题。问题是,是否可以在调用引发异常的属性之前检查HttpServletRequest
代理request
的底层是否存在?null