编程小白,关于spring的问题

public interface Service {}

@Service("service")
public class ServiceImpl implements Service {}

Service service = ApplicationContext.getBean(Service.class);

大致代码如上,一个服务接口类,一个服务实现类,最后一行是调用,我不明白的是,调用的时候看上去调用的是接口啊,为什么实际上调用的是实现类,小白求指点

interface 是不能实例化的 ,实例声明为Service类型,真正实例化是其实现类

自动注入,是按照类型、或者名字注入实例的。