问题描述:在controller中注入了另一个controller,按理说,三个注解controller、service、respository都是component衍生而来,任何被注入容器中的bean都可以以同样方式获取,但是在使用springboot项目时,controller中注入另一个controller发现失败。改成注入service成功。
报错:
2020-12-08 15:17:18.812 WARN 12352 — [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘testController’: Injection of @DubboReference dependencies is failed; nested exception is java.lang.IllegalArgumentException: @Service interfaceClass() or interfaceName() or interface class must be present!
2020-12-08 15:17:18.813 INFO 12352 — [ main] f.a.ReferenceAnnotationBeanPostProcessor : org.apache.dubbo.common.bytecode.proxy11@1410d645 was destroying!
2020-12-08 15:17:18.814 INFO 12352 — [ main] f.a.ReferenceAnnotationBeanPostProcessor : org.apache.dubbo.common.bytecode.proxy9@4ccdacf5 was destroying!
2020-12-08 15:17:18.814 INFO 12352 — [ main] f.a.ReferenceAnnotationBeanPostProcessor : org.apache.dubbo.common.bytecode.proxy6@5aa6da2 was destroying!
2020-12-08 15:17:18.814 INFO 12352 — [ main] f.a.ReferenceAnnotationBeanPostProcessor : org.apache.dubbo.common.bytecode.proxy0@1a0d313 was destroying!
2020-12-08 15:17:18.814 INFO 12352 — [ main] f.a.ReferenceAnnotationBeanPostProcessor : org.apache.dubbo.common.bytecode.proxy8@13908f9c was destroying!
2020-12-08 15:17:18.815 INFO 12352 — [ main] f.a.ReferenceAnnotationBeanPostProcessor : org.apache.dubbo.common.bytecode.proxy6@5aa6da2 was destroying!
2020-12-08 15:17:18.815 INFO 12352 — [ main] f.a.ReferenceAnnotationBeanPostProcessor : org.apache.dubbo.common.bytecode.proxy15@329b331f was destroying!
2020-12-08 15:17:18.815 INFO 12352 — [ main] f.a.ReferenceAnnotationBeanPostProcessor : org.apache.dubbo.common.bytecode.proxy7@640a8f93 was destroying!
2020-12-08 15:17:18.815 INFO 12352 — [ main] f.a.ReferenceAnnotationBeanPostProcessor : org.apache.dubbo.common.bytecode.proxy4@6335f04a was destroying!
2020-12-08 15:17:18.815 INFO 12352 — [ main] f.a.ReferenceAnnotationBeanPostProcessor : org.apache.dubbo.common.bytecode.proxy9@4ccdacf5 was destroying!
2020-12-08 15:17:18.816 INFO 12352 — [ main] f.a.ReferenceAnnotationBeanPostProcessor : org.apache.dubbo.common.bytecode.proxy5@74ce7fdf was destroying!
2020-12-08 15:17:18.816 INFO 12352 — [ main] f.a.ReferenceAnnotationBeanPostProcessor : org.apache.dubbo.common.bytecode.proxy14@1f26b992 was destroying!
2020-12-08 15:17:18.816 INFO 12352 — [ main] f.a.ReferenceAnnotationBeanPostProcessor : org.apache.dubbo.common.bytecode.proxy10@2f60cbf2 was destroying!
2020-12-08 15:17:18.816 INFO 12352 — [ main] f.a.ReferenceAnnotationBeanPostProcessor : org.apache.dubbo.common.bytecode.proxy17@631bc9f4 was destroying!
2020-12-08 15:17:18.817 INFO 12352 — [ main] f.a.ReferenceAnnotationBeanPostProcessor : org.apache.dubbo.common.bytecode.proxy12@642c72cf was destroying!
2020-12-08 15:17:18.817 INFO 12352 — [ main] f.a.ReferenceAnnotationBeanPostProcessor : org.apache.dubbo.common.bytecode.proxy16@4e6cbdf1 was destroying!
2020-12-08 15:17:18.817 INFO 12352 — [ main] f.a.ReferenceAnnotationBeanPostProcessor : org.apache.dubbo.common.bytecode.proxy3@67fac095 was destroying!
2020-12-08 15:17:18.818 INFO 12352 — [ main] f.a.ReferenceAnnotationBeanPostProcessor : org.apache.dubbo.common.bytecode.proxy2@5a13f1f7 was destroying!
2020-12-08 15:17:18.818 INFO 12352 — [ main] f.a.ReferenceAnnotationBeanPostProcessor : org.apache.dubbo.common.bytecode.proxy13@5dae5a70 was destroying!
2020-12-08 15:17:18.819 INFO 12352 — [ main] f.a.ReferenceAnnotationBeanPostProcessor : org.apache.dubbo.common.bytecode.proxy1@7686f701 was destroying!
2020-12-08 15:17:18.819 INFO 12352 — [ main] f.a.ReferenceAnnotationBeanPostProcessor : org.apache.dubbo.common.bytecode.proxy8@13908f9c was destroying!
2020-12-08 15:17:18.819 INFO 12352 — [ main] f.a.ReferenceAnnotationBeanPostProcessor : org.apache.dubbo.common.bytecode.proxy9@4ccdacf5 was destroying!
2020-12-08 15:17:18.820 INFO 12352 — [ main] f.a.ReferenceAnnotationBeanPostProcessor : class org.apache.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor was destroying!
2020-12-08 15:17:18.828 INFO 12352 — [ main] o.apache.catalina.core.StandardService : Stopping service [Tomcat]
2020-12-08 15:17:18.837 ERROR 12352 — [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Failed to destroy the filter named [Tomcat WebSocket (JSR356) Filter] of type [org.apache.tomcat.websocket.server.WsFilter]

java.lang.AbstractMethodError: null
at org.apache.catalina.core.ApplicationFilterConfig.release(ApplicationFilterConfig.java:301)

问题原因:使用了@Reference去注入对象了,Reference是dubbo的一种注解,作用是注入dubbo容器中对象,dubbo容器与spring容器自然不是一个容器,不可以混用,这里想要controller调用controller只需使用spring的注解@Autowired注解即可

改成service成功原因:@service注解也是dubbo的注解,@Reference注入的就是使用了dubbo的@Service的类的对象。故可以正常使用。

深思:以前学习过boot原理,已经很模糊,需要复习了
一个项目的启动就会有一个spring的容器(不是一个看做一个好了),其他的项目自然是调用不到该容器中的bean了,所以分布式项目中是没有机会使用controller调用controller的了,根本不在一个容器中啊,咋注入。

controller层中注入controller相关推荐

  1. service层中注入conroller_springMVC中controller层调用service层的方式

    springmvc 中普通类调用注解service层 的方式除了 1.自动注入外: @Autowired UserService userService; 2.还可以这样: 工具类: /** * * ...

  2. SSM框架中Dao层,Mapper层,controller层,service层,model层,entity层都有什么作用

    SSM是sping+springMVC+mybatis集成的框架. MVC即model view controller. model层=entity层.存放我们的实体类,与数据库中的属性值基本保持一致 ...

  3. java的dao层_Java中DAO层、Service层和Controller层的区别

    DAO层: DAO层叫数据访问层,全称为data access object,属于一种比较底层,比较基础的操作,具体到对于某个表的增删改查,也就是说某个DAO一定是和数据库的某一张表一一对应的,其中封 ...

  4. java 框架 Dao层 Mapper层 controller层 service层 model层 entity层 简介

    目录 简介 entity层 mapper层 service层 controller层 简介 SSM是sping+springMVC+mybatis集成的框架. MVC即model view contr ...

  5. koa --- [MVC实现之二]Controller层的实现

    [MVC实现之一]传送门 https://blog.csdn.net/piano9425/article/details/103362966 Router层 router这一层,不做业务处理,仅仅只是 ...

  6. java controller json_springMVC的controller层接收前端json数据

    1.前端的操作: 对象接收json数据方式:将所需要传的数据转化为json数据,并将这些数据以post方式传到后台的controller层,然后controller层接收json数据,并且是以对象的形 ...

  7. SpringBoot—单元测试模板(controller层和service层)

    关注微信公众号:CodingTechWork,一起学习进步. 介绍 概述   在开发过程中,我们经常会一股脑的写各种业务逻辑,经常等全部大功告成的时候,打个jar包放环境里跑跑看看能不能通,殊不知在各 ...

  8. 关于service层,dao层,controller层

    SSM是sping+springMVC+mybatis集成的框架. MVC即model view controller. model层=entity层.存放我们的实体类,与数据库中的属性值基本保持一致 ...

  9. DAO层,Service层,Controller层的作用

    DAO层: DAO层主要是做数据持久层的工作,用来对应数据库实体,负责与数据库进行联络的一些任务都封装在此.主要就是封装一些数据库的增删改查操作,但仅仅是封装了操作,具体的实现并不在dao层里,所以我 ...

最新文章

  1. 华为harmonyos和ios,华为EMUI正式更名为HarmonyOS,看来华为真的是孤注一掷了
  2. 【组合数学】生成函数 ( 生成函数示例 | 给定通项公式求生成函数 | 给定生成函数求通项公式 )
  3. httpclient发起https请求以及获取https返回内容
  4. R语言 需要安装的包
  5. 【转】网站挂马和端口抓鸡经验总结
  6. NOPI修改xlsx文件内容,无法正常打开,提示文件格式或文件扩展名无效
  7. 一篇文章带你了解jsMind
  8. C语言的红外计数程序,51单片机红外计数器 电路原理图+PCB+源程序等资料分享
  9. 护眼html颜色,在电脑中设置护眼颜色、更换网页背景色、一键护眼
  10. OneDrive免费5T云盘空间
  11. 错误处理panic和recover
  12. python地图制作 - pyecharts(1.9.1)绘制各城市地图
  13. 怎么给新加的固态硬盘装系统
  14. DeepTech深科技专访丨分布式系统开源项目领跑者Alluxio获5000万美元C轮融资
  15. 清风数模课---多元回归分析
  16. Xshell连接ubuntu后vi编辑器中数字小键盘乱码
  17. Chrome在Win下的跨域解决方案
  18. 计算几何常用算法[转]
  19. 计算机网络-——网络层
  20. 一文读懂什么是编程!

热门文章

  1. ubuntu20.04深色模式完全设置
  2. api接口 服务器是腾讯的lol服务器
  3. 心理压力测试脸型软件,脸型测试
  4. vue调用 手机拨号
  5. J酒店上海中心等入选2022年度中国最佳奢华酒店榜,地中海俱乐部获中国最受欢迎酒店品牌 | 美通社头条...
  6. uniapp+Django实现点击收藏按钮变色
  7. python爬取股票数据并存到数据库
  8. 科学家发现大量制备反物质的方法
  9. 集合类的toArray方法
  10. PLSQLDeveloper安装与配置