【发布时间】:2025-12-16 21:50:01
【问题描述】:
我是 Spring 新手,对它的工作原理有疑问。
为什么在Spring框架中实例化的是接口而不是实现它的类?
我看过几个教程,它们都是一样的,但我不明白为什么
界面:
public interface ILoginServicio {
public String getLogin(String usuario, String contrasena);
public boolean getMultiSearchResult(DirContext dirContext, String searchFilter, String searchBase);
public boolean displayAttribute(String attrName, final Attributes attributes);
}
实现接口的类:
@Service
public class LoginServicioImpl implements ILoginServicio{
@Autowired
private Environment environment;
@Override
public String getLogin(String usuario, String contrasena) {
....
}
@Override
public boolean getMultiSearchResult(DirContext dirContext, String searchFilter, String searchBase) {
...
return flagActiveDirectory;
}
@Override
public boolean displayAttribute(String attrName, Attributes attributes) {
....
return flagActiveDirectory;
}
}
注入bean的Restcontroller类:
@RestController
public class Login {
@Autowired
ILoginServicio iLoginServicio;
@RequestMapping("/login")
public Respuesta<String> login(@RequestBody UsuarioLogin user){
//.......
}
}
【问题讨论】:
-
“为什么接口在 Spring 框架中被实例化”......这是错误的,我想知道你为什么这么认为?试过你的代码了吗?