2015-03-02 51 views
0

实施例:User.java为什么对象在spring mvc中没有初始化?

@Component 
    public class User{ 
     public String name; 
     public String email; 



     public User() { 
      super(); 
     } 
     public User(String name, String email) { 
      super(); 
      this.name = name; 
      this.email = email; 
     } 
     public String getName() { 
      return name; 
     } 
     public String getEmail() { 
      return email; 
     } 
     public void setName(String name) { 
      this.name = name; 
     } 
     public void setEmail(String email) { 
      this.email = email; 
     } 



    } 

HomeController.java

@Controller 
public class HomeController { 

    @Resource 
    User user; 

    @RequestMapping(value="/getUsers", method= RequestMethod.POST) 
    public @ResponseBody User getUser(User user){ 
     return user; 
    } 
} 

但是user.getName()和user.getEmail()为空。用户类未初始化。为什么?即使我在客户端发送用户对象,因为

POST /spring/getUsers HTTP/1.1 Host: localhost:2015 Cache-Control: no-cache {"name":"vinod", "email":"[email protected]" } 
+0

注释如何requestBody作品等你意识到你作为参数传递的用户返回方法,而不是自动装配Autowired用户,这是完全无用的?另外,如果用户在请求正文中,作为JSON,参数应该用'@ RequestBody'注释 – 2015-03-02 19:46:42

+0

您可能需要了解自动装配工作原理和模型属性等基本知识。 – minion 2015-03-02 19:50:58

+0

请给出上述示例码。 – 2015-03-02 19:54:04

回答

1

以下是示例代码。请通过文档一下子明白

@Controller 
public class HomeController { 

    @RequestMapping(value="/getUsers", method= RequestMethod.POST) 
    public @ResponseBody User getUser(@RequestBody User user){ 
     return user; 
    } 
}