接口引用和实例化

时间:2014-03-23 17:10:42

标签: java spring-mvc

我有一个StudentDAo界面

package com.joseph.dao;
import java.uti`enter code here`l.List;
import com.joseph.model.Student;
public interface StudentDao {
    public void add(Student student);
    public void edit(Student student);
    public void delete(int studentId);
    public Student getStudent(int studentId);
    public List getAllStudent();
}

和StudentDaoImpl作为实现此接口的类(我没有在这里包含此StudentDaoImpl类的代码)

所以我在这里找到了

private StudentDao studentDao;
@Transactional  
public void add(Student student) { 
    studentDao.add(student); 
}

所以我的问题是为什么不

private StudentDao studentDao =new StudentDaoImpl();

以及studentDao.add(student)如何使用实例化。

我在学习弹簧框架时发现了这一点,而且我在春天是新手。

2 个答案:

答案 0 :(得分:0)

因为某些类(通常在Spring DAO或Repository组件的情况下自动生成)正在实现该接口,而 是执行的代码。

答案 1 :(得分:0)

studentDao对象实际上是实现StudentDao接口的类的对象。该类实现了add方法。