请问springMVC controller方法中的参数是如何注入的?

@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注解成功的对象,就是被声明了,可以直接调用

首先你要传入的参数是什么类型的,通过不同类型的参数使用不同的注解去进行参数的注入