用软件直接搭建一个springboot项目,出现的问题
- 问题一 controller层监听不到
解决方法:
排查问题得到springboot项目启动是通过main方法,里面有一个注解@SpringBootApplication。
通过这个@SpringBootApplication来启动项目,这个注解是@SpringBootConfiguration和@EnableAutoConfiguration还有@ComponentScan这三个合并起来用的。
为什么监听不到Controller层是因为main方法这个类不在根目录,因为这个注解@ComponentScan作用就是根据定义的扫描路径,把符合扫描规则的类装配到spring容器中,它默认的路径就是自己所在的包以及它的子包中,所以当你没有把他放进根目录就扫描不到controller层。
- 问题二 mysql加载类升级 com.mysql.cj.jdbc.Driver 和 com.mysql.jdbc.Driver 的区别
com.mysql.jdbc.Driver 是 mysql-connector-java 5中的,
com.mysql.cj.jdbc.Driver 是 mysql-connector-java 6中的
而且com.mysql.cj.jdbc.Driver 多了一个serverTimezone 的参数如果不写会报错
?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=true
- 问题三 dao层不能用注解实例化出来
直接在controller层用@Autowired 或@Resource 不能交给bean实例化,解决办法
用@MapperScan注解扫描dao层
@MapperScan("com.tsj.SpringBoot.dao")