Annotation is introduced since java 5. It is a new kind of instruction, syntax or meta data that provides data about the program and it is not a part of your program. Spring framework also provides a wide range of annotation, some of them which is commonly is used in Spring MVC is explained below.
@Controller - In Spring MVC you can make controller class very easily by prefixing @Controller before any class declaration.
@Controller
public class MyController {
}
@RequestMapping -The @RequestMapping annotation can be used with the classes or methods or both. It is used to specify the handler classes or methods that handles the particular request.
/* Used with Class */
@RequestMapping(value = "/page/")
public class MyController {
}
/* Used with Method */
@RequestMapping(value = "/load-page")
public String loadPage(Model model) {
return "home-page";
}
@SessionAttribute - The Spring framework provides the more precise approach to keep the model object on the session by using SessionAttribute annotation.
@Controller
@RequestMapping(value = "/load-page")
@SessionAttributes("user")
public class MyController {
}
@ModelAttribute- The @ModelAttribute refers to the property of model class.
@RequestMapping(value = "/load-page")
public String loadPage(@ModelAttribute("user") User user) {
return "home-page";
}
@RequestParam- The @RequestParam is can be used to get the request parameters. It has three attributes value, required, and defaultValue. You can declare any number of @RequestParam annotations.
@RequestMapping(value = "/test-param")
public String requestParam(@RequestParam(value = "name", required = true, defaultValue = "Default value") String name, @RequestParam(value="course")String course) {
return "home-page";
}
@PathVariable- This annotation is used to access URI variable.
@RequestMapping(value = "/load-page/{userName}")
public String pathVarible(@PathVariable(value = "userName") String userName) {
return "home-page";
}
If you are facing any programming issue, such as compilation errors or not able to find the code you are looking for.
Ask your questions, our development team will try to give answers to your questions.