学Java的一路简直就是踩坑的一路,来来来让我们细数一下我这些年的血泪史
菜鸟阶段,几乎天天在雷上度过。。。
第一个:数据库表字段不能用sql字段,会报500错误。比如order 在select 时就会报错。
![84c60bb375e23753ea74b7c541168099.png](https://i-blog.csdnimg.cn/blog_migrate/966cf2dd7d8853e6fd26a3a0a64423b9.jpeg)
第二个:在用int 类型做查询操作Controller层要写Integer类型,不然会报“”
Request processing failed; nested exception is java.lang.IllegalStateException: Optional int parameter 'page' is present but cannot be translated
into a null value due to being declared as a primitive type. Consider declaring it as object wrapper for the corresponding primitive type
![b240bae2a9fd9c7ae8eecd87f473eec3.png](https://i-blog.csdnimg.cn/blog_migrate/a3fae4c861a18a501810e529b0c5cbc1.jpeg)
解决办法如下:
![f74b20cc5fd24d57d9450a668ac6183e.png](https://i-blog.csdnimg.cn/blog_migrate/42b59ce3286b6ae281c57a5648d26a6b.jpeg)
![7f479a37096b7754cb401a14fb9650f7.png](https://i-blog.csdnimg.cn/blog_migrate/1652e44d0ca2f809c370f43c3f53a0bf.jpeg)
第三:generate 配置文件中,数据库表配置出问题,会报@autowired找不到Mapper的错误:
在这里:
![80c66c49a3d93e9e35df511f13c8b685.png](https://i-blog.csdnimg.cn/blog_migrate/0effcb3c5812f4daac7c74751f32bf04.jpeg)
第四:Spring Cloud 配置Hystrix熔断服务。
失败:
@SpringBootApplication(exclude={DataSourceAutoConfiguration.class},scanBasePackages= {"com.lero.springCloud.shoppingProject.microServiceCommon.feignService"}) //扫描注入fallbackFacotory@EnableEurekaClient //启用发现服务客户端@EnableFeignClients(basePackages= {"com.lero.springCloud.shoppingProject.microServiceCommon.feignService"}) //启用声明式服务调用客户端
![df97af35c9aa93556b9b3c26bd7045a1.png](https://i-blog.csdnimg.cn/blog_migrate/6c8f757bd9512d8dea042c71da7e1733.jpeg)
使用彻底解耦的方式配置在feign服务端,提供fallbackFacotory实现类重写回调方法,也在配置文件中配置了使用feign的熔断服务,喜剧的是客户端调用controller一直显示404错误,去掉熔断相关配置又可以。很明显是嗲用Controller没成功,难道是controller没有注入容器,也不应该啊,Spring boot只要主程序在最外面就会扫描一起的bean并且自动注入啊,况且也加了RestController注解。诡异····
经过多次实验加百度,终于成功了。
在主程序的各种注解有问题,由于Feign的服务抽出来封装到Maven子模块,虽然客户端消费调用时已经引入了包,但是由于是跨项目引用API,需要加包扫描,将实例注入进来。
好戏在这里:我引入了feign服务包和熔断需要的回调类,才造成上述问题,如果不要熔断配置,直接没问题
最后的解决办法竟然是在主程序注解声明上添加自己项目的包名!!
怀疑是添加了其他的包名,必须要添加自己的包名,才能扫描到自己的controller。
成功:
@SpringBootApplication(exclude={DataSourceAutoConfiguration.class},scanBasePackages= {"com.lero.springCloud.shoppingProject.microServiceCommon.feignService","com.lero.springCloud.shoppingProject.feignServiceConsumer"}) //还要加上自身包的扫描@EnableEurekaClient //启用发现服务客户端@EnableFeignClients(basePackages= {"com.lero.springCloud.shoppingProject.microServiceCommon.feignService","com.lero.springCloud.shoppingProject.feignServiceConsumer"}) //启用声明式服务调用客户端
![800457ca5afaf66e7562eeb5d6efd073.png](https://i-blog.csdnimg.cn/blog_migrate/db9f79e2ab2da6759c958782d1fce808.jpeg)
最坑的一个是:
Java的IDE用Eclipse就行,MyEclipse要收费
我这么穷,你怎么好意思问我要钱
![8acf65649d683a54bf74b49452066e53.png](https://i-blog.csdnimg.cn/blog_migrate/4e3a2a9deca051d1a143a2860a762c95.jpeg)
好了,今天的总结就到这里,希望大家可以在学习Java的道路上继续奋勇前进~
最后给和我以前一样学习Java从小白一路踩坑走来的伙伴们献花
![31181639131928ca3a52bb071ec09206.png](https://i-blog.csdnimg.cn/blog_migrate/9f63ab78b1bd26fb05933ac9930a6fc2.jpeg)
给还在学习的小伙伴们鼓励;
![24118f6c76938c5501bacc2395627954.png](https://i-blog.csdnimg.cn/blog_migrate/3794702628ed6822784dd08fe27dcaa3.jpeg)
顺便提供一些小援助
![2c3fe85295876aa788f356f592290057.png](https://i-blog.csdnimg.cn/blog_migrate/8f18380718d4c93c9cf791f8681e0084.jpeg)
![ead60a1d95406494d039cb537b132b92.png](https://i-blog.csdnimg.cn/blog_migrate/4993dfbadaed79740671a04f53bc2c76.jpeg)
以上内容都是我自己的一些感想,分享出来欢迎大家指正,顺便求一波关注,有想法的伙伴可以评论或者私信我哦~
![4d8813defbb415ffa21adf7d4d67cf66.png](https://i-blog.csdnimg.cn/blog_migrate/a3fcbc3339b1a03ca3efccd50a024085.jpeg)