@RequestMapping(value = "/login", method = RequestMethod.POST)
public String login(String userid, String password, HttpSession session, CommonDate date, LogUtil logUtil, NetUtil netUtil, HttpServletRequest request) {
logUtil.setLog(userid, date.getTime24())...
...
}
其中CommonDate,LogUtil,NetUtil都是自己写的工具类,没有注解,并且XML也没有配置bean,也没有去扫描这些类。为什么请求过来进入这个方法后,可以直接使用这些类,请问这些类是怎么被注入的?
springMVC 在方法里定义类就相当于new了这个类。public String login(User user) 那么你就可以直接用这个类了,无需new。还有一种就是当你的页面控件的Name和User类中属性一样时,你定义public String add(User user) 保存时就可以直接用xxx.add(user) 不需要一个一个定义参数了。
可以通过@注解来注入,也
通过注解来实现的,这些值都有固定的默认值被初始化
因为这些类中有get和set方法然而springmvc是通过request域传递对应值
查看SpringMVC的API,讲解的很清楚的
导入的类,这些相当于在方法体中new了一个类
https://www.cnblogs.com/blog411032/p/5909512.html
使用注解成功注入的对象,是被初始化了的,不为null;请求方法中的参数,是需要被赋值(传值)的,如果请求体中没有相应的参数,则该方法参数为null,
会抛异常的。
使用spring注解成功的对象,就是被声明了,可以直接调用
首先你要传入的参数是什么类型的,通过不同类型的参数使用不同的注解去进行参数的注入