关于java spring mvc构造器注入的问题
请看我的控制是这样写的@Controller@RequestMapping("user/login")publicclassLoginController{//接口pri...
请看我的控制是这样写的
@Controller
@RequestMapping("user/login")
public class LoginController {
//接口
private ILoginServices _loginServices;
//通过构造器注入
@Autowired
public LoginController(ILoginServices loginServices)
{
this._loginServices=loginServices;
}
public LoginController() { }
@RequestMapping(value = "*.go",method = RequestMethod.POST)
public String go()
{
return "reg";
}
@RequestMapping(method = RequestMethod.GET)
public String login(HttpServletRequest request)
{
request.setAttribute("username", this._loginServices.GetAdminName());
return "login";
}
}
其中xml中这样定义
<!-- 依赖注入 -->
<bean name="LoginServices" class="com.Login.services.LoginServices"/>
<bean id="LoginController" class="com.springapp.mvc.LoginController" autowire="constructor">
<constructor-arg ref="LoginServices"/>
</bean>
</beans>
但是这样弹出异常:
Caused by: java.lang.IllegalStateException: Ambiguous mapping found. Cannot map 'LoginController' bean method
如有大侠请指导啊 展开
@Controller
@RequestMapping("user/login")
public class LoginController {
//接口
private ILoginServices _loginServices;
//通过构造器注入
@Autowired
public LoginController(ILoginServices loginServices)
{
this._loginServices=loginServices;
}
public LoginController() { }
@RequestMapping(value = "*.go",method = RequestMethod.POST)
public String go()
{
return "reg";
}
@RequestMapping(method = RequestMethod.GET)
public String login(HttpServletRequest request)
{
request.setAttribute("username", this._loginServices.GetAdminName());
return "login";
}
}
其中xml中这样定义
<!-- 依赖注入 -->
<bean name="LoginServices" class="com.Login.services.LoginServices"/>
<bean id="LoginController" class="com.springapp.mvc.LoginController" autowire="constructor">
<constructor-arg ref="LoginServices"/>
</bean>
</beans>
但是这样弹出异常:
Caused by: java.lang.IllegalStateException: Ambiguous mapping found. Cannot map 'LoginController' bean method
如有大侠请指导啊 展开
展开全部
@Autowired表示自动织入
因此就不需要在xml里面进行定义了
因此就不需要在xml里面进行定义了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在接口出加上@Autowired试试捏
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把public LoginController() { }去掉
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询