java+spring 获取上下文中的登录信息应该用静态方法还是实例方法?

有一个方法, 是从上下文中获取用户id, 然后从数据库查询用户信息。
1、是使用静态方法?
2、还是使用实例方法,需要的类就注入一个实例方法?
两者有什么区别,求大佬解答。

这个方法调用频率很高, 所有需要获取当前登录信息的地方都要调用

阅读 1.9k
1 个回答

推荐你使用静态方法吧,spring security 就是使用的静态方法(SecurityContextHolder),所以静态方法并没有什么可避讳的,好用就用。

区别就是如果使用实例,那么你所有需要调用的上下文登录实例的地方也必须是一个实例,除非你将上下文登录实例传递进去,使用起来比较麻烦。

推荐问题