在运行时加载类时无法创建 bean

2023-12-29

我有两个工作方式不同的项目。第一个用于类加载,第二个有其类用于执行一些处理工作。

在第一个项目中,我加载该类,而不是创建新实例来调用该方法,我仅使用应用程序上下文。

@Autowired
ApplicationContext context;

ClassLoader loader = null;

try {
    loader = URLClassLoader.newInstance(new URL[]{new   

File(plugins + "/" + pluginName + "/" + pluginName +   

".jar").toURI().toURL()}, getClass().getClassLoader());

} catch (MalformedURLException e) {
    e.printStackTrace();
}

Class<?> clazz = null;

try {

    clazz = Class.forName("com.sample.Specific", true, loader);

} catch (ClassNotFoundException e) {

    e.printStackTrace();

}

Method method = null;
try {
    method = clazz.getMethod("run",new Class[]{});
} catch (NoSuchMethodException e) {
    e.printStackTrace();
}

try {
    method.invoke(context.getBean(clazz),new Object[]{});
} catch (IllegalAccessException e) {
    e.printStackTrace();
} catch (InvocationTargetException e) {
    e.printStackTrace();
}

在第二个项目中我有这个例子:

package com.sample

@Service
public class Specific {

@Autowired
private FD fd;


public void run(){

    fd.init();

}

}

正如我所提到的,这是两个不同的项目。因此,当我使用 Main class 运行第一个项目时,它会说——

考虑在您的中定义一个“com.sample.Specific”类型的 bean 配置。

我怎样才能创建bean?


这是因为您无法找到此类,在组件扫描配置中,您需要声明 bean 所在的包。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在运行时加载类时无法创建 bean 的相关文章

随机推荐

  • 安装 Visual Studio 2015 后 Fakes 停止工作

    我已经安装了 Visual Studio 2015 作为试用 从那时起 我使用 fakes 的单元测试将不再编译 甚至在 VS 2013 上也无法编译 单元测试项目的目标是 net 4 5 Msdn https connect micros
  • SimpleSAMLphp 会覆盖 PHP (Zend) 会话,旧版 SimpleSAMLphp 不会发生这种情况

    我必须在旧的 PHP 服务器上更新 simplesamlphp 该库的旧版本是 2010 年的 Simplesamlphp 在 SP 启动的环境中用作服务提供商 SP 我将其替换为 09 20 版本并进行了相同的配置 除了一件事之外 一切都
  • 将 HTML 解析为 PHP

    如果我们设置 Apache Web 服务器来配置 Apache 来处理是否存在任何安全 性能问题allHTML 与 PHP 一样吗 我具体指的是 AddType application x httpd php php php3 php4 h
  • Django Rest框架仅创建序列化器字段

    我有一个用作请求描述的 Django 模型 它是为了由 REST 客户端发出请求而创建的 用于记录任务的当前状态 并记录客户端收到的历史请求 该模型有一些字段用于微调和控制所请求的任务 例如 目标对象和操作类型 显然 我希望客户端在对象创建
  • 下载属性在 Phonegap 应用程序中不起作用

    这不是我的第一个混合应用程序 我已经在 Google Play 商店和 Apple Store 上发布了应用程序 我的目标平台是Android 我不确定将支持哪些版本 如果我决定发布这个想法 我将在稍后确定 我正在使用 Phonegap B
  • SQL Server计算父类别和所有子类别的记录数

    目前 我有一个存储过程 我在其中创建一个表并查询该表以获得所需的结果 结果是一个无限分层的子 父表 它允许我在基于 ASP Classic 的网页上显示数据 这个程序是 SET NOCOUNT ON DECLARE Categories T
  • 有哪些技术可以监控一个软件的多个实例?

    我有一个自助服务亭软件 将在多个站点运行 我想远程监控他们的状态 信息亭应用程序本身已经基本完成 我现在正在创建一款软件 该软件将从一个中心位置监控所有自助服务终端 以便客户可以远程查看特定详细信息 例如 接受者的现金盒中有多少钞票 当前的
  • eclipse/tomcat:部署不再工作(ClassNotFoundException)

    我正在 Linux Ubuntu Natty Narwhal 中运行 Eclipse Helios Service Release 1 和 Tomcat 7 0 12 我一直很高兴地重新部署我的网络应用程序 直到它毫无理由地停止工作 显示以
  • 无法在另一个 *.axml 文件中包含 *.axml 文件

    我想包括一个布局 axml文件在另一个 axml使用 xamarin android 但是 当我使用时
  • 使用 actionbarsherlock 选项卡样式的选项卡内容

    参考下面的代码 取自https gist github com 1126843 https gist github com 1126843 如何设置选项卡的内容 public class NativeTabActivity extends
  • 如何使用 Spring JDBCTemplate 绑定元组列表?

    我有一些这样的疑问 List listOfIntegers Arrays asList new Integer 1 2 3 List objects namedParameterJdbcTemplate query select from
  • 自定义搜索 jQuery FancyTree 插件

    我在我的一个项目中使用 FancyTree jQuery 插件 https github com mar10 fancytree https github com mar10 fancytree 该插件还有一个过滤器扩展 可以调暗或隐藏不匹
  • 在列表中查找匹配和不匹配的项目

    我对 Python 还很陌生 对于列表可以做什么和不能做什么有点困惑 我有两个列表 我想比较它们并以二进制格式返回匹配和不匹配的元素 List1的长度是恒定的 而长度List2不同 但总是短于List1 例如 List1 dog cat p
  • 检测 IE 操作中止问题的原因

    我的网站正遭受操作中止错误 http support microsoft com kb 927917 我觉得奇怪的是 就我而言 错误只是有时会发生 该网站已经运行良好三个月了 然后今天开始出现这种情况 但并非每次都会出现这种情况 发生这种情
  • 未定义方法“has_one_attached” - Spree、AWS S3、产品图像、Rails

    我尝试将 Spree 购物车与 AWS S3 连接以上传产品图片 但不断收到错误消息 rbenv versions 2 4 0 lib ruby gems 2 4 0 gems activerecord 5 2 0 lib active r
  • 生成一个新线程来打开一个新窗口并从另一个线程关闭它

    现在我有 C 代码在不同的线程中生成一个新窗口 这可以工作 但是一旦新生成的窗口打开 它就会关闭并且线程结束 我该如何做到这一点 以便可以从第一个线程关闭新生成的窗口 这是当前生成如何工作的 树 主线程 使用主线程中的一个函数来启动单独线程
  • Mat扩展面板默认打开的bug?

    自从 Angular 5 发布以来 我的垫子扩展面板出现了一些问题 它们是默认打开的 我不明白为什么 my html div div
  • 有没有一个脚本可以列出我创建的 git 分支?

    我知道分支并不真正存储创建者信息 它们只是指向提交的指针 我的目标是能够清理已合并回主分支的旧分支 并列出尚未完成此操作的分支 清理 这与 查找未合并的分支 不同 因为我也想查找合并的分支 并且我想由作者来完成 我的问题是 有没有一个脚本可
  • phpmyadmin - 错误 2002 - 在 Mac 上

    我目前使用的是Mac 运行的操作系统版本是El Capitan 网络根目录是 Users username Sites 我下载并解压了 phpmyadmin 并将目录移动到根文件夹 然后我成功进入了登录屏幕 但是当我尝试登录时 它显示这样的
  • 在运行时加载类时无法创建 bean

    我有两个工作方式不同的项目 第一个用于类加载 第二个有其类用于执行一些处理工作 在第一个项目中 我加载该类 而不是创建新实例来调用该方法 我仅使用应用程序上下文 Autowired ApplicationContext context Cl