关于初学spring-cloud-alibaba还没开始差点结束
spring-cloud
1.遇到的问题
第一次创建项目带入nacos组件就差点给我送走,一个很基础的问题,卡住我好半天,下面介绍问题:
创建了了一个父工程两个子工程:
依赖版本如下:
这就是一个jdk版本,一个spring-cloud-alibaba的版本管理,一个spring-cloud的版本管理,和一个spring-boot的版本管理
都是按照spring-cloud-alibaba官方给的相关依赖版本导入:
可以自行去官网和GitHub查看:https://github.com/alibaba/spring-cloud-alibaba
步入正题,问题报错如下:
出了一个BeanDefinitionStoreException的错误,后面说我“未能读取候选组件类”
2.问题解决
作为初学者的我当场懵了,这是啥错怎么会读取不到了,然后我就去问了问我度娘,有的是说controller的名字已经存在,就系统就报了Bean定义存储异常,然后我就去把我的controller名字改了改,然而好像并不是,然后有人说可能版本冲突了,我想这不是官方给的么,但是我还是去降了降版本,然后版本变成了:
这个样子,有效果了,他没有刚才那个问题了,但是新问题来了:
直接程序启动失败,说他找不到一个Bean,然后我又百度,有的说我的nacos版本不对,我又改,还是不行,有的说加个配置类
@Configuration
public class IClientConfig {
@Bean
public DefaultClientConfigImpl iClientConfig(){
return new DefaultClientConfigImpl();
}
}
这个没试,有需要可以试试然后有说:启动类放错位置了 要放在目录的第二层,我去试了试,成了。我原来的项目文件目录结构:
这样我的启动类在com文件下,然后我改了改,变成:
启动很类到了com.xxxx文件夹下,这样就可以了,我惊呆了,不知道为啥。。。。。。但是确实是可以了,我去百度了下,都说不能直接放在main.java包下,但是我不是放在了com下么,百思不得其解,有大佬看见望说说原因, 不过做大的原因还是没养成良好的代码习惯。最后改了后,就第一个问题也解决了,所以不是版本的问题。最后结果就是:
结果就启动成功,注册成功,访问成功。。。。。。
3.总结
也没啥总结的,很重要的一个点养成良好的编码习惯 一定一定要养成,不能因为是一个小练习就瞎搞,哈哈,不然我就是明天的你。。。。。。反面教材了,最后原因希望又大佬能解解疑惑,我自己也会去继续查询,一起加油!!!!!!!!