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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

SpringMVC項目里,有必要使用一些設(shè)計模式嗎?

SpringMVC項目里,有必要使用一些設(shè)計模式嗎?

慕的地6264312 2019-05-21 10:53:24
背景為了兼容多種業(yè)務(wù),想在項目中使用一些設(shè)計模式,以便于管理。例如,我需要創(chuàng)建用戶并返回userid,每種業(yè)務(wù)創(chuàng)建的方式都不一樣。我選取了“適配器模式”,但是我發(fā)現(xiàn),在springmvc的管理下,常常需要new一些類,這時候,在這個類里的一些spring標簽,卻失效了。以下是我創(chuàng)建用戶的代碼:接口publicinterfaceIPlatformSendPay{publicabstractObjectsendPayInA(Objectobject);publicabstractObjectsendPayInB(Objectobject);}父類publicclassPlatformSendPay{privateObjectobj;@ResourceprivateOpenPaymentDaoopenPaymentDao;publicPlatformSendPay(Objectobj){this.obj=obj;}publicObjectgetUserIdInA(){JidouOrderDatajidouOrderData=(JidouOrderData)obj;intstationId=jidouOrderData.getStation_id();//此處,openPaymentDao為空,意味著@Resource失效,這個PlatformSendPay類沒有納入spring管理中IntegeruserId=openPaymentDao.getIdentifyUser(jidouOrderData.getIdentifyId(),"1000000013");if(ObjectUtils.isEmpty(userId)){//todo:打印}returnuserId;}}子類publicclassSendPayextendsPlatformSendPayimplementsIPlatformSendPay{publicSendPay(Objectobj){super(obj);}@OverridepublicObjectsendPayInA(Objectobject){returngetUserIdInA();}@OverridepublicObjectsendPayInB(Objectobject){returngetUserIdInB();}}這是我的實現(xiàn)類,springmvc中的@Service標簽//業(yè)務(wù)一SendPaysendPay=newSendPay(jidouOrderData);intuserId=(int)sendPay.getUserIdInA();//業(yè)務(wù)二SendPaysendPay=newSendPay(JdOrderData);intuserId=(int)sendPay.getUserIdInB();疑問1.PlatformSendPay為何spring綁定不成功?如何才能綁定成功?2.springmvc里,是不是盡可能少使用這類的設(shè)計模式?在對象里面的方法,使用的變量有spring標簽,但是在new的情況下,這樣是不是會失效?
查看完整描述

2 回答

?
繁星點點滴滴

TA貢獻1803條經(jīng)驗 獲得超3個贊

例如,我需要創(chuàng)建用戶并返回userid,每種業(yè)務(wù)創(chuàng)建的方式都不一樣。
這不是典型的工廠模式嘛?輸出是一致的,返回userid,創(chuàng)建過程根據(jù)業(yè)務(wù)來。簡單工廠就可以了。
                            
查看完整回答
反對 回復(fù) 2019-05-21
?
函數(shù)式編程

TA貢獻1807條經(jīng)驗 獲得超9個贊

模式問題
所謂設(shè)計模式是對常見對象關(guān)系的總結(jié),實際上包含了同幾乎所有可能的常見對象的創(chuàng)建和使用關(guān)系。如果你能成功地繞過所有設(shè)計模式寫出程序來,那才是真的了不起。實際上這是一個自然的過程,不需要為模式而模式。
為什么spring綁定不成功
自動裝配情況下,對手工new出的對象是沒法裝配的,因為spring自動裝配僅發(fā)生在初始化掃描階段。你的情況下建議采用對象繼承的方式,由不同子對象實現(xiàn)不同的邏輯,而不是同一個對象因為構(gòu)造參數(shù)不同而產(chǎn)生不同的邏輯。
                            
查看完整回答
反對 回復(fù) 2019-05-21
  • 2 回答
  • 0 關(guān)注
  • 587 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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