SpringBoot属性与配置(2)
2019-03-29 本文已影响1人
汉寿周杰伦
今日份的Bug记录:
1. SpringBoot+idea热部署(自动刷新):
https://blog.csdn.net/qq_42685050/article/details/81588584
这里注意不仅要添加依赖还要把插件也在pom文件中加上,不然不会有刷新的效果,另外,刷新好像是改动后一段时间刷新,不是立即。
2. 解决mysql java.sql.SQLException: The server time zone value‘XXXXXX' is unrecognized or represents...
使用的数据库是MySQL,驱动是6.0.3,这是由于数据库和系统时区差异所造成的,在jdbc连接的url后面加上serverTimezone=GMT即可解决问题,如果需要使用gmt+8时区,需要写成GMT%2B8,否则会被解析为空。再一个解决办法就是使用低版本的MySQL jdbc驱动,5.1.28不会存在时区的问题。
application.yml配置图示
加上时区信息之后就不在报错了。
3. @Controller和@RestController的区别
image.png(转自: https://blog.csdn.net/yanweihpu/article/details/53928398)
我们一般都会在Controller上加上@Controller注解,但是有时候也见有加上@RestController的,现在就说说他们的区别:
不同之处:
- @Controller类中的方法可以直接通过返回String跳转到jsp、ftl、html等模版页面。在方法
- @ResponseBody注解,也可以返回实体对象。
- @RestController类中的所有方法只能返回String、Object、Json等实体对象,不能跳转到模版页面。
- @RestController相当于@ResponseBody + @Controller。
补充:
@RestController中的方法如果想跳转页面,则用ModelAndView进行封装,如下:
@RestController public class UserController { @RequestMapping(value = "/index",method = RequestMethod.GET) public ModelAndView toIndex(){ ModelAndView mv = new ModelAndView("index"); return mv; } }