SpringMVC中Repository和Autowired、Qualifier注解如何实现自动装配?
- 内容介绍
- 文章标签
- 相关推荐
本文共计308个文字,预计阅读时间需要2分钟。
plaintextgistfile1.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"; } } }
本文共计308个文字,预计阅读时间需要2分钟。
plaintextgistfile1.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"; } } }

