我想知道 spring-boot 和已经提供的ThreadLocal用于保存诸如LocaleContextHolderor 之类的值的帮助程序类的最佳实践是什么RequestContextHolder。
实际上,我真的不喜欢传递参数,例如Request或Locale通过每个方法调用并在最终使用之前炸毁签名。我宁愿隐藏此信息详细信息,并在服务中必要时获取所需信息。但是,当时使用的东西是正确的RequestContextHolder还是LocaleContextHolder正确的,还是依赖于ThreadLocal操作的坏习惯?什么是推荐方法?
依赖时可能会出现什么问题ThreadLocal?我读到清理是一件重要的事情,但由于这已经由 spring-boot 完成,我认为这些是安全的操作。
感谢您的输入
小智 0
如果您想要访问依赖于请求的对象(例如Locale或 )Request并且不想使用其他参数破坏方法的签名,您可以使用RequestContextHolder或提供的静态方法来访问它们LocaleContextHolder。
例子:
public String getLocaleOfRequest(){
return LocaleContextHolder.getLocale()
}
Run Code Online (Sandbox Code Playgroud)
实际上不需要ThreadLocal在代码中定义 s 。
| 归档时间: |
|
| 查看次数: |
617 次 |
| 最近记录: |