ssm分布式不能创建bean的bug理解:Error creating bean with name:

如果出现:

Error creating bean with name 'xxxx': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field:xxxx

个人理解 出现这种情况: 以下都是个人心酸史
1.首先查看pom依赖是否正确,由于微服务的特性,需要将其他模块也引入,
但是请注意!!!:由于依赖的特性,例如dao层的:加载配置文件

<context:property-placeholder location="classpath*:properties/*.properties" />

其他依赖dao层的模块玩玩不能再次加载,否则很难注意到!!
2.查看web.xml
(1).监听器,就不必说了,每个web.xml必须有,也是个开始的标志
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

3.查看spring的配置文件:applicationContext*.xml
(1).dubbo服务:

<dubbo:protocol name="dubbo" port="20885"></dubbo:protocol>
	<!--应用名必须与你创建的模块名,文件名一致-->
    <dubbo:application name="xxx-xxx"/>
    <!--linux端口有时候会变,清注意-->
    <dubbo:registry address="zookeeper://192.168.188.133:2181"/>
    <!--报名一致肯定不用说了-->
    <dubbo:annotation package="cn.itcase.xxx.service.impl" />

(2)加载spring容器:

<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>classpath*:spring/applicationContext_service.xml</param-value>
</context-param>

但是请注意,由于依赖,也许不止需要加载一处spring配置文件
建议改为:applicationContext*.xml,这个也是个大坑,不注意很容易翻车

(3).注意创建bean注入的是属性还是引用:
拿到上面注入的id用ref,定义的参数用value例如:用户名,密码
4.就是每个controller与service层的注解了,
com.alibaba.dubbo.config.annotation.Reference;
com.alibaba.dubbo.config.annotation.Service;
本地的用:Autowired
org.springframework.beans.factory.annotation.Autowired;

5.外部原因:例如进程中你的javaTM开了两个,就会报注册失败,只要打开进程关掉一个世界清静

以上都个人所犯错误,坑较多,欢迎大家补充与纠正

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值