// UserDao.java文件中,UserDao是一个interface而不是一个实例,为何UserConter.java文件中@Autowired不会报错?
models/UserDao.java
@Transactional
public interface UserDao extends CrudRepository<User, Long> {
/**
* Return the user having the passed email or null if no user is found.
*
* @param email the user email.
*/
public User findByEmail(String email);
} // class UserDao
controllers/UserController.java
@Controller
public class UserController {
...
// ------------------------
// PRIVATE FIELDS
// ------------------------
@Autowired // UserDao.java文件中,UserDao是一个interface而不是一个实例,为何这里@Autowired不会报错?
private UserDao userDao;
}
虽然它本身是一个interface 但是使用@Autowired 自动注入的是实现这个接口的子类