Spring学习经验—@Controller和@RestController

分类:计算机 | Spring | 综合 314
更新:2020-11-24 22:30:57
编辑

1 @Controller

SpringMVC采用经典的三层分层控制结构,在持久层,业务层和控制层分别采用@Repository、@Service、@Controller对分层中的类进行注解,而@Component对那些比较中立的类进行注解。

@Controller用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller对象,分发处理器会扫描使用该注解的类的方法,并检测该方法是否使用了@RequestMapping注解。

@Controller只是定义了一个控制器类,而使用@RequestMapping注解的方法才是处理请求的处理器。

@Controller类中的方法可以直接通过返回String跳转到jsp、ftl、html等模板页面,在方法上加@ResponseBody注解,也可以返回实体对象。

2 @RestController

@RestController注解,相当于@Controller+@ResponseBody两个注解的结合,返回json数据不需要在方法前面加@ResponseBody注解了,但使用@RestController这个注解,就不能返回jsp,html页面,视图解析器无法解析jsp,html页面。

@RestController类中的所有方法只能返回String、Object、json等实体对象,不能跳转到模板页面。

3 参考资料

https://www.cnblogs.com/cgb123/p/12814841.html