【后端框架SSM注解】注解含义学习记录
注解含义学习记录
1、@Service
用于业务层组件,如果一个类带了@Service注解,将自动注册到Spring容器,不需要再在applicationContext.xml文件定义bean了。
@Service("userService")
public class UserServiceImpl implements UserService{
}
示例表示将userServiceImpl自动注册到spring容器。
2、@Autowired
通过@Autowired注解对Bean的属性变量、属性Setter方法以及构造函数进行标注,配合AutowiredAnnotationBeanProcessor完成Bean的自动配置。
3、@Qualifier
当@Autowired遇到多个匹配Bean时注入会发生错误,此时通过@Qualifier可以表示哪个实现类才是需要的。
@Autowired
@Qualifier("userDao")
UserDao userDao;
示例表示将userDao自动注册到spring容器,并且被userDao注解的类时其实现类。
4、@Controller和@RequestMapping
使用@Controller 标记一个类是Controller,然后使用@RequestMapping注解用以定义URL请求和Controller方法之间的映射,这样的Controller就能被外界访问到。
@Controller
@RequestMapping("/user")
public class UserController {}
@RequestMapping用于标记一个方法
@RequestMapping("/login.do")
public @ResponseBody State dealLogin(HttpServletRequest request, HttpServletResponse response){}
5、@ResponseBody
该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。
public @ResponseBody State dealLogin(HttpServletRequest request,HttpServletResponse response){
System.out.println("登录请求已提交");
String username = (String) request.getParameter("username");
String password = (String) request.getParameter("password");
System.out.print(username+" "+password);
User user = new User();
user.setPassword(password);
user.setUsername(username);
boolean exist = userService.dealLogin(user);
State state = new State();
state.setCode("1");
state.setInfo(Boolean.toString(exist));
System.out.println("登录请求处理完毕");
return state;
}
示例中用@ResponseBody注解dealLogin()的返回数据类型,当对前台数据做完处理后,以json的数据格式返回用户的状态。