Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring引导:使用ThreadLocal变量或pass参数_Java_Spring - Fatal编程技术网

Java Spring引导:使用ThreadLocal变量或pass参数

Java Spring引导:使用ThreadLocal变量或pass参数,java,spring,Java,Spring,我想知道spring boot和已经提供的使用ThreadLocal保存值(如LocaleContextHolder或RequestContextHolder)的助手类的最佳实践是什么 实际上,我并不喜欢在每个方法调用中传递参数,例如Request或Locale,并放大签名直到最后使用它。我希望隐藏此信息的详细信息,并在必要时在服务中获取所需信息。但是RequestContextHolder或LocaleContextHolder是正确的使用方法,还是依赖ThreadLocal操作的习惯不好?推

我想知道spring boot和已经提供的使用
ThreadLocal
保存值(如
LocaleContextHolder
RequestContextHolder
)的助手类的最佳实践是什么

实际上,我并不喜欢在每个方法调用中传递参数,例如
Request
Locale
,并放大签名直到最后使用它。我希望隐藏此信息的详细信息,并在必要时在服务中获取所需信息。但是
RequestContextHolder
LocaleContextHolder
是正确的使用方法,还是依赖
ThreadLocal
操作的习惯不好?推荐的方法是什么

依赖
ThreadLocal
时可能会出现什么问题?我读到关于清理是一件重要的事情,但由于spring boot已经完成了这项工作,所以我认为这些都是安全的操作

谢谢你的意见