当前位置: 首页 > 知识库问答 >
问题:

Spring Boot注释ConfigEmbeddedWebApplicationContext无法填充动态类中的自动连接声明字段

华欣荣
2023-03-14

有一个JUnit测试如下:

内存编译器编译一个字符串到类on.the.fly.报告,其中包含一些@autowmed声明的字段,如reportRepository等。

一切正常,动态类报告可以使用自动连接字段来实现其功能。

当它放在MVC环境中时,使用autowired应用程序上下文,即AnnotationConfigEmbeddedWebApplicationContext,autowired属性值无法填充。

使用debug,findCandidateNamesmethodreturn[],它应该像在测试环境中一样返回一个包含字段名的数组。请参考有关的源代码,并给我一些建议。谢谢

results =  compiler.compile("Report.java", reportClassString);

Class<?> clazz = compiler.loadClass("on.the.fly.Report", results);

IReport report = (IReport) applicationContext.getAutowireCapableBeanFactory().createBean(clazz);    
report.creatPdf(reportObject);

组织。springframework。豆。工厂UnsatifiedPendencyException:创建名为“on”的bean时出错。这个飞AgreementReport”:通过字段“agreementReportProperties”表示的未满足的依赖关系;嵌套的异常是org。springframework。豆。工厂NoSuchBeanDefinitionException:没有类型为“com”的合格bean。林。应用程序编程接口。汇报领域dto。AgreementReportProperties可用:至少需要1个符合autowire候选资格的bean。依赖项注释:{@org.springframework.beans.factory.annotation.Autowired(required=true)}。springframework。豆。工厂注释。AutoWiredNotationBeanPostProcessor$AutoWiredFeldElement。在org上注入(autowirednotationbeanpostprocessor.java:587)。springframework。豆。工厂注释。注入元数据。在com上注入(InjectionMetadata.java:91)。林。应用html" target="_blank">程序编程接口。样品网状物控制器。协议控制员。在sun下载Pdfile(AgreementController.java:161)。反映NativeMethodAccessorImpl。invoke0(本机方法)

共有1个答案

东方谦
2023-03-14

经过几天的研究,我找到了根本原因。只需将我定制的类加载器作为Spring上下文类加载器的子类,然后依赖关系就可以成功注入。源代码如下:

类clazz=编译器。loadClass(“on.the.fly.AgreementReport”,results,context.getClassLoader());

 类似资料:
  • 这是我的当前设置:ProjectRepo: ProjectService: ProjectRestController:

  • 我正在开发一个spring boot应用程序,我遇到了一个问题。我正在尝试注入一个@Repository注释接口,但它似乎根本不起作用。我收到这个错误 实体类: 存储库接口: 控制器:

  • 问题内容: 我已经看到这个问题在互联网上流传,但是我还没有找到可行的解决方案。基本上,我想加载我的应用程序并按下一个按钮;然后,该按钮操作将在已加载到Web视图中的网站中填写用户名和密码(或等待onPageFinished)。最后,登录页面上的提交按钮将被激活。 据我了解,这可以通过使用loadUrl(javascript)进行Java注入来完成,但是我不知道用Java命令填写字段是什么。对于iO

  • 我有一个简单的组件类: 在构造函数的参数中,IntelliJ报告:

  • 我对spring中的@Autowired注释有问题。我有一个RestController类: 接口: CategoryManagerImpl类: 每次编译代码时,我都会遇到一个异常: Bun当我创建ApplicationContext并尝试获取categoryManagerImpl bean时,没有问题: 有人知道哪里会有问题吗? 谢谢 添加了 配置类: 堆栈跟踪:

  • 在之前的一家公司作为终端用户使用了几年后,我对Jira admin这方面的工作还不熟悉。我们使用的是标准的Jira工作流程。我正在努力解决的情况如下。我正在尝试匹配我们旧的专有问题数据库的一些功能。现在我使用了许多标准的Jira字段,只有两个新的自定义字段(两个单选列表都是我手动填充的): 1) Customer=向我们的支持团队发送新问题电子邮件的客户姓名2)Customer Contact=当