6 回答
TA貢獻1875條經驗 獲得超3個贊
@Controller
public class LoginController{
@Resource(name="loginService")
private IService loginService;
@RequestMapping("/login")
@Autowired
public ModelAndView index(BaseClassDo logindo){
LoginDo ll= (LoginDo) logindo;
ModelAndView mv = new ModelAndView();
System.out.println(logindo);
// mv = loginService.doService(logindo);
mv.setViewName("login");
return mv;
}
}樓上說的對,你這方法上的@Autowired是想要做什么?和@RequestMapping一起用?
如果想通過方法注入的話,那新創建一個方法然后用上@Autowired注入就行了,至于@RequestMapping是用于處理請求的
TA貢獻1794條經驗 獲得超8個贊
指的是根據請求的參數綁定為相應的實體類型嗎?只不過這些實體類型都繼承自BaseClassDo 是嗎?比如前端傳job_id、worker_id、login_pw、worker_name這四個參數,這個時候在index方法的參數實際類型就是LoginDo了?然后如果前端傳其他參數,那就會綁定到另一個BaseClassDo的具有這些參數對應字段的子類,是這個意思不?
TA貢獻1841條經驗 獲得超3個贊
通過頁面請求發現代碼真正邏輯是頁面請求了一個子類Action的方法,而這個方法里面調用了父類的一個方法,此時父類里面的Service一直無法注入,對于上面所提的這種需求,實際上是需要在子類做Spring注入的同時也進行父類的Spring注入,那么這種需要這樣的配置:
<bean id="barePhoneAction" class="com.eshore.crm.contrl.termmgr.mgr.action.BarePhoneAction" scope="prototype" parent="termCommonAction"> <property name="orderVerifyApiFacade" ref="ord.bizprov.orderVerifyApiFacade"/> <property name="orderListQryApiFacade" ref="ord.query.orderListQryApiFacade"/> <property name="channelQryApiFacade" ref="cfguse.channel.channelQryApiFacade" /> </bean>
經過上面的設置以后,請求子類的Action方法,子類方法中調用父類方法時,就不會出現父類不發生注入的問題了。
TA貢獻1824條經驗 獲得超6個贊
@Autowired的使用上有問題。
一般情況下,@Autowired標注在方法上的時候,會在容器初始化時去調用方法“進行賦值”,但也僅此而已了,之后的操作和@Autowired就沒關系了
正常的前后端請求傳遞的參數是由前端傳入的,并不是容器注入的
添加回答
舉報
