您可以使用请求范围的bean来完成此操作,并将当前请求自动装配到bean中:
public class RequestHolder {
private @Autowired HttpServletRequest request;
public String getServerName() {
return request.getServerName();
}
}
然后在XML中:
<bean id="requestHolder" class="com.x.RequestHolder" scope="request">
<aop:scoped-proxy/>
</bean>
然后,您可以将requestHolder
bean连接到您选择的任何业务逻辑bean中。
请注意<aop:scoped-proxy/>
-这是将请求范围的Bean注入单例的最简单方法- 请参阅Spring文档以了解其工作方式以及如何配置aop
名称空间。