第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

springBoot Aop可以切controller切不到service感激不盡

springBoot Aop可以切controller切不到service感激不盡

問(wèn)題描述最近在做一個(gè)springboot的項(xiàng)目中使用aop做全局日志管理但是出現(xiàn)了這樣的問(wèn)題controller包下的類都正常的切到了,但是service層怎么也沒(méi)反應(yīng)問(wèn)題出現(xiàn)的環(huán)境背景及自己嘗試過(guò)哪些方法@EnableAspectJAutoProxy沒(méi)用srping.aop.proxy-target-class=true/相關(guān)代碼//請(qǐng)把代碼文本粘貼到下方(請(qǐng)勿用圖片代替代碼)@ControllerpublicclassOCheckassoInfoControllerextendsBaseController{@Autowired@Resource(name="error_log")Loggererror_log;@AutowiredOCheckassoInfoInfoServiceOCheckassoInfoInfoService;@PostMapping(value="/oCheckassoInfo/queryData")@ResponseBodypublicMapqueryData(){HashMapresult=newHashMap();try{result.put("status",EnuConfig.REQUEST_SUCCESS);result.put("data",OCheckassoInfoInfoService.queryDataAll(this.getHashDataEntity()));returnresult;}catch(Exceptione){error_log.info(e.getMessage());e.printStackTrace();result.put("status",EnuConfig.REQUEST_FAIL);result.put("data","系統(tǒng)錯(cuò)誤");returnresult;}}}切面類@Aspect@ComponentpublicclassLogAop{publicLoggerservice_log=LogManager.getLogger("service");@Pointcut("execution(public*com.solantec.sensitive_fraud_yinlian.*.*.*.*())")privatevoidaspect(){}@Before(value="aspect()")publicvoidmethodBefore(JoinPointjoinPoint){ServletRequestAttributesrequestAttributes=(ServletRequestAttributes)RequestContextHolder.getRequestAttributes();HttpServletRequestrequest;service_log.info("===============requestcontext===============");if(requestAttributes!=null){request=requestAttributes.getRequest();service_log.info("requestaddr:"+request.getRequestURL().toString());service_log.info("requestmethod:"+request.getMethod());}service_log.info("params:"+Arrays.toString(joinPoint.getArgs()));service_log.info("targetmethod:"+joinPoint.getSignature());service_log.info("===============requestcontext===============");}@AfterReturning(returning="o",pointcut="aspect()")publicvoidmethodAfterReturing(Objecto){service_log.info("****************************result****************************");service_log.info("result:"+o);service_log.info("****************************result****************************");}}你期待的結(jié)果是什么?實(shí)際看到的錯(cuò)誤信息又是什么?正常情況下控制臺(tái)應(yīng)該會(huì)打印兩個(gè)===============requestcontext===============一個(gè)時(shí)controller的一個(gè)是service的但是service的死活就是沒(méi)有
查看完整描述

2 回答

?
蕭十郎

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超13個(gè)贊

覺(jué)得是Pointcut表達(dá)式的問(wèn)題,你可以看下Spring的Pointcut表達(dá)式問(wèn)題,如果你service是基于接口變成,那你的表達(dá)式應(yīng)該是沒(méi)有掃描到子子包的內(nèi)容,controller那邊如果也有子包的話,子包下面應(yīng)該也不會(huì)aop到的。如下兩個(gè)表達(dá)式的區(qū)別定義在service包里的任意方法的執(zhí)行:execution(com.xyz.service..*(..))
定義在service包和所有子包里的任意類的任意方法的執(zhí)行:execution(com.xyz.service...*(..))
                            
查看完整回答
反對(duì) 回復(fù) 2019-08-17
  • 2 回答
  • 0 關(guān)注
  • 477 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)