使用Spring DI +接口默认方法是否安全,而不是经典的Spring DI +接口+类?
@Service
public interface MessagesService {
default public void send() {
}
}
OR
public interface MessagesService {
void send();
}
@Service
public class MessagesServiceImpl implements MessagesService {
@Override
public void send() {
}
}
答案 0 :(得分:0)
事实是,除非您为default
提供实施,否则您无法调用MessagesService
方法,
所以,这一切都取决于你想放置send()
方法的位置,即,如果send()
算法对于许多实现是通用的,那么你可以将send()
方法保持为default
方法接口内部的方法,否则它将非常特定于MessagesServiceImpl
类。
简单来说, Spring DI 无所事事。
我建议您阅读here并了解default
方法的概念。