当前位置 : 主页 > 编程语言 > c++ >

SpringMVC注解之Repository、Autowired、Qualifier

来源:互联网 收集:自由互联 发布时间:2021-07-03
gistfile1.txt @Repository注解用于将一个类注解为Spring中的bean类型,这样就不用在配置文件中进行配置。@Autowired注解用于spring可以自动帮你把bean里面引用的对象的setter/getter方法省略,它会
gistfile1.txt
@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";
		}
		
	}

}
网友评论