@Service public class xxxImpl implements xxxService {
@Override
public xxx xxxx() {
}
public static xxxx() {
}
} 大概是这样子的情况
1
RedBeanIce 2021 年 3 月 11 日
菜鸟一枚
表示没有感受到问题。最多就是对方法区占用了一点内存? 一般建议通过引入接口的 service 调用重写的的方法?? |
2
GeruzoniAnsasu 2021 年 3 月 11 日
能有啥问题?? 光 static 咋看得出来
static 又不可能是接口方法 你又不描述这些 static 是干啥的 static plus 1+1 这种方法能有啥问题嘛 |
3
zm8m93Q1e5otOC69 2021 年 3 月 12 日
static 中不能使用托管的 bean 啊,只能用 set 引入 bean 才行,可能对后来的维护有影响
|
4
erisfloralia OP @GeruzoniAnsasu 给其他方法调用的,比较通用的方法,所以他说用静态的方便给其他类调用
|
5
erisfloralia OP @beichenhpy 谢谢大佬解答
|
6
yazinnnn 2021 年 3 月 12 日
你被 oop 脑控了
|
7
javapythongo 2021 年 3 月 12 日
没啥大问题吧,可能就这一个方法,又不好写到其它工具类里面
|
8
javapythongo 2021 年 3 月 12 日
唯一的问题就是有点违反开闭原则了,调用者必须知道具体的接口实现类才行
|
9
gwybiaim 2021 年 3 月 12 日
@RedBeanIce #1 无论是不是静态,只要类加载了,就会占方法区的内存。
|
10
gwybiaim 2021 年 3 月 12 日
最大的缺点是失去了多态的特性,进而很多 spring 的特性用不了,比如 AOP 以及基于 AOP 的功能
|
11
zm8m93Q1e5otOC69 2021 年 3 月 12 日
@erisfloralia 比较通用的方法可以尝试写成基类继承
|
12
woshiaha 2021 年 3 月 12 日
这种可以写成 static 的公共方法一般是要抽到 Util 类里面去的把 放在 service 类里面给其他类调用感觉怪怪的
|
13
ychost 2021 年 3 月 12 日
Static 抽取到基类,或者 Util 里面去吧
|
14
erisfloralia OP |
15
zydxn 2021 年 3 月 12 日
没必要抽到 Util 类的静态方法可以写在接口里,参考 Interface Stream
|
16
cluulzz 2021 年 3 月 12 日
要用没啥问题...比较通用的还是拉到 util 里吧
|