gistfile1.txt @Repository注解用于将一个类注解为Spring中的bean类型,这样就不用在配置文件中进行配置。@Autowired注解用于spring可以自动帮你把bean里面引用的对象的setter/getter方法省略,它会
@Repository注解 用于将一个类注解为Spring中的bean类型,这样就不用在配置文件中进行配置。 @Autowired注解 用于spring可以自动帮你把bean里面引用的对象的setter/getter方法省略,它会自动帮你set/get,通常与注解@Qualifier 一起使用,如下: @Autowired @Qualifier(userValidator) private UserValidator userValidator 上述三行代码中则使用了一个userValidator类,并且已经进行初始化。 例子: @Repository("uservalidator") public class UserValidator implements Validator { public boolean supports(Class clazz) { // TODO Auto-generated method stub return User.class.equals(clazz); } public void validate(Object target, Errors error) { // TODO Auto-generated method stub ValidationUtils.rejectIfEmpty(error, "username", null,"用户名不能为空"); ValidationUtils.rejectIfEmpty(error, "password", null,"密码不能为空"); User user=(User) target; if(user.getUsername().length()>6){ error.rejectValue("username", null, "用户名不能超过6个字符"); } if(user.getPassword()!=null&&!user.getPassword().equals("")&&user.getPassword().length()<6){ error.rejectValue("password", null, "密码不能小于6个字符"); } } } @RequestMapping(value="/user") @Controller public class UserController { @Autowired @Qualifier("uservalidator") private UserValidator uservalidator; @RequestMapping(value="/registerform",method=RequestMethod.GET) public String registerForm(Model model){ User user=new User(); model.addAttribute("user", user); return "registerform"; } @RequestMapping(value="/register",method=RequestMethod.POST) public String register(@ModelAttribute User user,Model model,Errors errors){ model.addAttribute("user", user); uservalidator.validate(user, errors); if(errors.hasFieldErrors()){ return "registerform"; }else{ return "welcome"; } } }