- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我在使用这个 Autowire 时遇到了问题:
@Controller
public class ChiusuraController {
@Autowired
private ChiusuraProvider chiusuraProvider;
}
用这个 bean:
@Service @Transactional
public class ChiusuraProvider extends ThreadProvider {
public void run() {}
}
延伸
public abstract class ThreadProvider extends Thread implements InitializingBean, Runnable, DisposableBean {
...
}
我收到此错误:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'chiusuraController': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.cinebot.service.ChiusuraProvider com.cinebot.web.controller.ChiusuraController.chiusuraProvider; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [com.cinebot.service.ChiusuraProvider] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
我看到如果我删除 Autowiring 类的extends ThreadProvider,我没有收到此错误,但我确实需要 ThreadProvider 抽象类。
最佳答案
如果 ThreadProvider 层次结构中的任何地方都有接口(interface),请尝试将接口(interface)的名称作为服务提供者的类型,例如。如果你说这个结构:
public class ThreadProvider implements CustomInterface{
...
}
然后在你的 Controller 中试试这个:
@Controller
public class ChiusuraController {
@Autowired
private CustomInterface chiusuraProvider;
}
发生这种情况的原因是,在您没有 ChiusuraProvider
扩展 ThreadProvider
的第一种情况下,Spring 可能是在为您创建一个基于 CGLIB 的代理(到处理@Transaction)。
当您从 ThreadProvider
扩展时假设 ThreadProvider 扩展了某个接口(interface),在这种情况下,Spring 会创建一个基于 Java 动态代理的代理,这似乎是该接口(interface)的实现,而不是 ChisuraProvider
类型。
如果您绝对需要使用 ChisuraProvider
,您可以尝试使用 AspectJ 作为替代方案,或者在使用 ThreadProvider 的情况下强制使用基于 CGLIB 的代理:
<aop:aspectj-autoproxy proxy-target-class="true"/>
这里有更多来自 Spring Reference 站点的引用:http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/classic-aop-spring.html#classic-aop-pfb
关于Spring 预计至少有 1 个 bean 有资格作为此依赖项的 Autowiring 候选者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11332289/
我目前正在使用协卷积层来训练神经网络,但在向其提供输入和输出维度时似乎存在一些问题。 输入由 (x,2050) 组成输出为 (x,13)因此,对于每行 2050 列,应创建一个包含 13 个元素的数组
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
我有以下内容: public String searchRecipes( String searchString, int pageNumber ) throws Exception {
现在,在任何人链接这篇文章之前: JSLint : Expected '!!' and instead saw '?' 我想解释一下,我想我明白为什么 jslint 给我这个错误,但是我不确定如何修改
我正在尝试远程登录到 Cisco 路由器并使用 pexpect 发出命令。它的工作,但 sendline() 在输出中重复。即使在使用 setecho 为 False 之后。代码是: ''' Crea
我写了一个脚本从vsql中选择: LOAD 'sql://{select * from sandesh.insights_voice_day WHERE Observation_date BE
这个问题在这里已经有了答案: Android - How to achieve setOnClickListener in Kotlin? (32 个回答) 去年关闭。 我正在尝试使此切换按钮起作用-
我想在两个类之间传递一个值,但出现以下错误: Syntax error on token ";", , expected when initializing called value from ano
我使用 MySQL 5.5 ,我的表有 6 列,数据类型为 int 、varchar 、datetime 。我为 Id (int) 列创建索引。如果我希望基于 Id 列的条件查询始终保持响应时间低于
你好社区我正在做一个简单的应用程序,用户可以注册(作为新用户),所以我试图用我的 Usercontroller 创建一个新用户: class UserController :new end
我正在尝试移植 bunny到 armv7h,它使用了一些我在转换为 asm 时遇到问题的 x86 asm 东西。 static __inline__ void atomic_inc(volatile
我一直在尝试向 https://americas-uapi.copy-webservices.travelport.com/B2BGateway/connect/uAPI/SystemService
以 one 作为参数调用 sleep 的预期持续时间是多少?它是一些不超过 1 秒的随机时间吗?它是某个至少为一秒的随机时间吗? 场景: 开发人员 A 编写代码,使用输出设备按顺序执行某些步骤。代码发
我正在尝试完成有关 Spring Boot 的教程,我目前在 JPA 部分,遇到了一个我无法解决的问题。我目前所处的位置是我已经构建了实体,我已经获得了 DB(H2 数据库)所需的所有依赖项,我已经构
我有如下代码,它检查我的命名函数是否已使用某些参数调用: const wrapper = mount(); let params = new URLSearchParams();
我正在使用Facebook Audience Network通过Android应用程序获利。 我11月份的估算收入大于$ 150,但即使到下个月的12月5日,在“支出”部分的“估算的支出”中仍然“未找
我试图在 Google 跟踪代码管理器中保存此自定义 Javascript 变量,但每次都返回此错误: sendinblue.identify('$_POST['_username']',{ '
该程序可在此处获取:http://ideone.com/P1c15J 这里简要介绍一下它的作用: 声明一个字符串ptr。将此指针地址转换为小端地址并将这些字节存储在 char[] adr 中。打印出来
我想使用 DynamicTimeWarping (DTW) 的输出进行分类。事实证明,动态时间扭曲算法的输出仍然需要进行后处理。作为时间对齐过程的一部分,数据 A 的一些单个数据点将被映射到数据 B
我正在尝试使用来自 GUI 的 Weka CSVLoader 将 CSV 转换为 ARFF。在选项中,我将字符串的包围字符设置为 " ,虽然我的文件中没有引号。 我收到以下错误: weka.core.
我是一名优秀的程序员,十分优秀!