Прежде всего, я новичок в весеннем MVC, так что ...
как springmvc находит подходящий класс для создания экземпляра и заполнения его свойств объекта при отправке пост-запроса на некоторый контроллер.
например, давайте предположим, что у меня есть этот класс
package springmvc_test.user
public class User {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
и класс контроллера как текущий
@Controller
@RequestMapping(value = {"/user"} )
public class UserController {
private List<User> users;
@Autowired
public UserController(List<User> users) {
this.users = users;
}
@RequestMapping(value = "/add",method = POST)
public String addUser(User user,Model m){
users.add(user);
//do some other stuf
//.....
}
}
когда я делаю пост-запрос для http://localhost/myapp/user/add
наряду с полями формы, которые имеют те же имена, что и User
свойства класса,
работает нормально.
но мой вопрос таков
как мог бы springmvc найти класс User
и создать его экземпляр? хотя класс User
вообще не помечен как замеченный
примечание:
я знаю, что весна связывает свойства объекта User
, сопоставляя их имена с именами полей формы