问题描述:
如果请求方法private ModelAndView articleList(Map<String, Object> map)
增加访问控制注解@PreAuthorize
并且使用的是private
修饰的,会报错:java.lang.NullPointerException: null
, 此处的null指的是articleService为null。 表面上看可能就是修饰符导致的类方法权限问题了, 请问为啥如果不加注解@PreAuthorize
就可以访问, 加了就不可以访问? 请大神深度解释一下。
...
@Autowired
private ArticleService articleService;
...
@GetMapping("/articles")
@PreAuthorize("hasAnyAuthority('admin')")
public ModelAndView articleList(Map<String, Object> map){
List<ArticleDTO> articleListDTO = articleService.articleInfoList();
map.put("articleList", articleListDTO);
return new ModelAndView("article/article_list", map);
}
我也碰到了此问题求大神解答