gpt4 book ai didi

java - 为什么我们在 Spring MVC 模式中使用接口(interface)?

转载 作者:行者123 更新时间:2023-12-02 12:56:26 25 4
gpt4 key购买 nike

我是 spring MVC 新手,我下载了一个小型 spring MVC 项目。该项目运行良好,但该项目的接口(interface)和类正在被使用。喜欢


public interface EmployeeService {

public void addEmployee(Employee employee);

public List listEmployeess();

public Employee getEmployee(int empid);

public void deleteEmployee(Employee employee);
}

还有


public class EmployeeServiceImpl implements EmployeeService {

@Autowired
private EmployeeDao employeeDao;

@Transactional(propagation = Propagation.REQUIRED, readOnly = false)
public void addEmployee(Employee employee) {
employeeDao.addEmployee(employee);
}

public List listEmployeess() {
return employeeDao.listEmployeess();
}

public Employee getEmployee(int empid) {
return employeeDao.getEmployee(empid);
}

public void deleteEmployee(Employee employee) {
employeeDao.deleteEmployee(employee);
}

}

我的疑问是,如果我们使用 EmployeeServiceImpl 需要实现 EmployeeService 吗? EmployeeDaoEmployeeDaoImpl 中也有同样的事情。

最佳答案

接口(interface)始终是解耦的良好实践,而且,在谈论 Spring 时,您可以使用接口(interface)而不是具体类来使用一些功能。

一个很大的优势是代理 - Spring AOP。

您可以在这里找到更多信息:http://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/aop.html

还有其他优点,比如后处理之类的,但我认为您会对 Spring AOP 有一个有趣的阅读。

关于java - 为什么我们在 Spring MVC 模式中使用接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27490953/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com