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";
}
}
}
