久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

java - spring 注入為null問題

瀏覽:149日期:2023-12-18 15:20:32

問題描述

如圖:

@Componentpublic class UserArgumentResolver implements HandlerMethodArgumentResolver{ @Autowired private RedisTemplate<String,User> redisTemplate; @Override public boolean supportsParameter(MethodParameter parameter) {if(parameter.getParameterAnnotation(CurrentUser.class)!=null&& parameter.getParameterType()==User.class){ return true;}return false; } @Override public Object resolveArgument(MethodParameter methodParameter, ModelAndViewContainer modelAndViewContainer, NativeWebRequest webRequest, WebDataBinderFactory webDataBinderFactory) throws Exception {HttpServletRequest request= (HttpServletRequest) webRequest.getNativeRequest(); // todoreturn null; }}

創(chuàng)建的類實現(xiàn)HandlerMethodArgumentResolver后,發(fā)現(xiàn)在里面注入bean實例都失效了,向上面的redisTemplate實例在運行的時候就為null,同一個包下其他的class都是正常。請問是什么原因?qū)е耣ean的注入失敗。

問題解答

回答1:

你使用的UserArgumentResolver對象沒有被IoC容器管理, 因為在@Autowired注解沒有配置required=false的情況下spring發(fā)現(xiàn)沒有該對象會直接拋出Exception, 不會出現(xiàn)注入null的情況.

回答2:

HandlerMethodArgumentResolver接口應該是被spring實例化的,不是IOC容器實例化管理的

標簽: java
相關文章:
主站蜘蛛池模板: 抚州市| 西峡县| 泊头市| 左贡县| 建平县| 罗城| 乃东县| 麦盖提县| 阳山县| 德阳市| 延寿县| 哈巴河县| 石林| 慈利县| 荣成市| 杂多县| 吉水县| 桃江县| 凤山县| 崇信县| 门源| 江津市| 个旧市| 文安县| 通道| 固安县| 太原市| 乌鲁木齐县| 青海省| 兴义市| 米易县| 慈利县| 杭州市| 南涧| 遵义县| 胶南市| 刚察县| 方正县| 潼南县| 清河县| 烟台市|