charles都踩过哪些坑_那些年我学Java踩过的坑
学Java的一路简直就是踩坑的一路,来来来让我们细数一下我这些年的血泪史
菜鸟阶段,几乎天天在雷上度过。。。
第一个:数据库表字段不能用sql字段,会报500错误。比如order 在select 时就会报错。
第二个:在用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
解决办法如下:
第三:generate 配置文件中,数据库表配置出问题,会报@autowired找不到Mapper的错误:
在这里:
第四:Spring Cloud 配置Hystrix熔断服务。
失败:
@SpringBootApplication(exclude={DataSourceAutoConfiguration.class},scanBasePackages= {"com.lero.springCloud.shoppingProject.microServiceCommon.feignService"}) //扫描注入fallbackFacotory@EnableEurekaClient //启用发现服务客户端@EnableFeignClients(basePackages= {"com.lero.springCloud.shoppingProject.microServiceCommon.feignService"}) //启用声明式服务调用客户端
使用彻底解耦的方式配置在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"}) //启用声明式服务调用客户端
最坑的一个是:
Java的IDE用Eclipse就行,MyEclipse要收费
我这么穷,你怎么好意思问我要钱
好了,今天的总结就到这里,希望大家可以在学习Java的道路上继续奋勇前进~
最后给和我以前一样学习Java从小白一路踩坑走来的伙伴们献花
给还在学习的小伙伴们鼓励;
顺便提供一些小援助
以上内容都是我自己的一些感想,分享出来欢迎大家指正,顺便求一波关注,有想法的伙伴可以评论或者私信我哦~
charles都踩过哪些坑_那些年我学Java踩过的坑相关推荐
- 什么都不懂的学java难不难_零基础转行学java到底难不难
不少零基础的新手想要转行学习java可是不知道难度,南京学码思下面就给大家详细的说一说转行java的难度,希望能帮助到各位想要了解java的同学. 零基础转行学java到底难不难 新手转行学java到 ...
- java从入门到精通_想要开始学java?你要的java从入门到精通布列如下!
java从入门到精通,让我来告诉你! 毫无疑问,java是当下最火的编程语言之一.对于许多未曾涉足计算机编程的领域「小白」来说,深入地掌握java看似是一件十分困难的事.其实,只要掌握了科学的学习方法 ...
- mstem函数怎么定义_小白该怎么学Java开发 Java编程重要点有哪些
小白怎么学Java开发?Java编程重要点有哪些?在Java的学习中,面向对象应该是Java技术的重中之重,虽然在生活中没有对象可以面对,但在技术中还是要一直接触面对对象,而且不可避免.下面小编为大家 ...
- 有谁转行学java成功了的吗_毕业五六年转行学java可以吗,还能学会吗?
Java入门还是比较容易的,对于初学者来说,初学Java用合适的方式去培养对编程的兴趣,很重要.以前学习Java的时候,看的是"如鹏网"的<这样学Java不枯燥>视频教 ...
- 逻辑思维不好能学java吗_逻辑思维差可以学JAVA吗
逻辑思维就是练出来的,怎么练知道吗?学习编程的过程就是训练你逻辑思维最好最好的方法,慢慢来吧.在你思考的过程中,慢慢逻辑思维能力就有了,学java可以训练逻辑思维,这是反复迭代的过程.其实担心编程学不 ...
- java编程好学么_零基础小白学Java编程好学吗
Java是一门不会衰落的开发语言,伴随着IT行业的兴起,目前学习java培训的人员也是变得更多了,但要想学好java的话通过自学是没有那样非常容易的事情.尤其是对于初学者的学生而言,那么零基础小白学J ...
- 数学不好学java好学吗_数字不好能学java吗?
"我成绩不好,能学好JAVA吗?" "我数学不好是不是代表逻辑思维不行?" "我英语都不及格,那么多单词我怎么记得住?" 很多初学者在刚开始 ...
- 零基础学java web开发_从零基础学Java成为一个专业的java web 开发者
原标题:从零基础学Java成为一个专业的java web 开发者 "我怎么才能成为一个Java Web开发者?"对于这个问题,答案其实并不简单.成为一个Java Web开发人员包括 ...
- 女生就不适合学Java吗_女生不适合学java?给他看这篇文章,女生其实更适合学java,更好就业!...
原标题:女生不适合学java?给他看这篇文章,女生其实更适合学java,更好就业! 女生适合学java吗?女生做IT怎么样 首先要表明我的观点,编程是不分男女,什么女生不适合学编程的说法,从客观上来说 ...
最新文章
- Docker导入、导出、删除容器
- mysql 临时索引_MySQL select in 语句未使用索引,产生磁盘临时表,导致 crash
- python编写程序输入整数n求n_Python入门习题----N=ABXBA
- elasticsearch的一个bug总结
- virtualenv之python虚拟环境
- C语言基础教程篇之环境如何设置
- 华为交换机基本配置,秒看秒懂~~~
- 基于Python班级管理系统毕业设计-附源码171809
- 魔兽世界服务器开启mysql_魔兽世界服务端Trinity编译安装
- 冰点下载:数据解析错误
- 面试题:数据库的优化
- 认识VBA------------------VBA基础
- ps_裁剪出圆形区域并将多余透明去掉
- 【HTML】极简个人主页设计
- linux tpp模式,tpp 'exec'命令任意代码执行漏洞
- mt4量化交易接口:分享日常量化选股方法
- uniapp使用ucharts图表及问题汇总
- 扫描振镜GAS012和GVS012的安装
- LASSO算法确定指标权重的一次实践(python dataframe数据结构处理与数据读写 sklearn)
- ES5 ES6基础知识
热门文章
- Ubuntu16.04下安装Redis数据库
- VS2017中使用码云上传项目以及问题汇总
- win7关闭系统索引服务器,win7系统关闭磁盘索引功能的操作方法
- 苹果连接电脑只能充电_苹果 iPhone 12 曝充电 Bug:多口充电器无一幸免 只能用单独充电头 - 手机 - IT商业网...
- 环视感知网络的多任务和单任务之争
- 月薪25-80K丨一汽(南京)招聘雷达感知开发工程师、主管、主任、高级主任
- 汇总|C++常见知识点总结,涉及文本输出、排序、生成随机数、异常处理、关联容器、printf重定向、sprintf用法、cout重定向
- 如何创建一个定时管理的页面
- python中np.multiply()、np.dot()和星号(*)三种乘法运算的区别
- Ubuntu环境下docker的安装