我有一个带有 Spring MVC 控制器和 jsp 的非常简单和经典的页面(JSP 在这里不相关):
@Controller
public class PlayListListController extends BaseController<PlayList> {
@Autowired UserRepository userRepository;
@RequestMapping("/playlist/{userName}")
private ModelAndView displayList(@PathVariable("userName") String userName) {
User user = userRepository.getUserByUserName(userName);
....
}
}
我的问题如下。当我想使用 URL 访问我的页面时:http://localhost:8080/playlist/foo
它会在第 8 行的控制器中引发 NullPointeurException。
User user = userRepository.getUserByUserName(userName);
调试时,我看到 userRepository 确实为空。
userRepository 应该由 Spring 注入,而在我的所有其他控制器中,它发生得很好:同一个 bean (userRepository) 由 Spring 正确注入。
为什么在这个由 Spring 实例化和调用的特定控制器(与所有其他控制器在同一个包中)中,userRepository 为空?我完全不明白。欢迎任何建议。
谢谢!埃米尔。