使用Spring DI和接口默认方法

时间:2018-02-09 07:25:24

标签: java spring dependency-injection spring-ioc

使用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() {

    }
}

1 个答案:

答案 0 :(得分:0)

事实是,除非您为default提供实施,否则您无法调用MessagesService方法, 所以,这一切都取决于你想放置send()方法的位置,即,如果send()算法对于许多实现是通用的,那么你可以将send()方法保持为default方法接口内部的方法,否则它将非常特定于MessagesServiceImpl类。

简单来说, Spring DI 无所事事

我建议您阅读here并了解default方法的概念。