bean实例化失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:

2023-11-25

我的控制器中的构造函数有一些问题。我尝试在构造函数中调用一项服务。该服务在 AbstractController 中自动装配,但我遇到了空指针异常。

一个组件:

@Component
@RestController
@RequestMapping(value = "/test", ...)
public class AController extends AbstractController {

    @Autowired
    SomeService someService;

    public AController(){
        globalService.setClazz(Test.class);
    }
....

这里是抽象控制器:

public abstract class AbstractController<T> {

    @Autowired
    GlobalService globalService;

    ...

这里是例外。它是由globalService.setClazz(Test.class);

 Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.x.server.controller.AController]: Constructor threw exception; nested exception is java.lang.NullPointerException -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:1.3.1.RELEASE:run (default-cli) on project eza: An exception occurred while running. null
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
        at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:862)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:286)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:197)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.MojoExecutionException: An exception occurred while running. null
        at org.springframework.boot.maven.AbstractRunMojo$IsolatedThreadGroup.rethrowUncaughtException(AbstractRunMojo.java:438)
        at org.springframework.boot.maven.RunMojo.runWithMavenJvm(RunMojo.java:61)
        at org.springframework.boot.maven.AbstractRunMojo.run(AbstractRunMojo.java:215)
        at org.springframework.boot.maven.AbstractRunMojo.execute(AbstractRunMojo.java:174)
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
        ... 20 more
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.springframework.boot.maven.AbstractRunMojo$LaunchRunner.run(AbstractRunMojo.java:467)
        at java.lang.Thread.run(Thread.java:745)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'movieController' defined in file [...com/x/server/controller/AController.class]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.x.server.controller.AController]: Constructor threw exception; nested exception is java.lang.NullPointerException
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1105)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1050)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:538)
        at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118)
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:764)
        at org.springframework.boot.SpringApplication.doRun(SpringApplication.java:357)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:305)
        at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:134)
        at com.x.server.Application.main(Application.java:36)
        ... 6 more
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.x.server.controller.AController]: Constructor threw exception; nested exception is java.lang.NullPointerException
        at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:163)
        at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:89)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1098)
        ... 22 more
Caused by: java.lang.NullPointerException
        at com.x.server.controller.AController.<init>(AController.java:40)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
        at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147)
        ... 24 more

感谢您的帮助


您正在使用globalService构造函数内的字段,但构造函数在任何之前调用@Autowired字段已设置,因此globalService is null在那时候。

你可能应该使用

@PostConstruct
public void init() {
    globalService.setClazz(Test.class);
}

而不是构造函数。或者更好的是,在相同的位置进行此设置GlobalService被建造。

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

bean实例化失败;嵌套异常是 org.springframework.beans.BeanInstantiationException: 的相关文章

  • spring依赖注入会创建单例对象吗?

    spring内部是如何管理这些对象的呢 单例对象什么时候创建和销毁 默认情况下 Spring bean 基本上是单例的 Spring 将为每个类创建一个实例 并且通常会在 Spring 初始化时执行此操作 然而 这几乎是无限可定制的 Spr
  • 如何使用appium和java在Android中向下滚动以单击元素?

    我想知道如何使用appium和java向下滚动以单击Android中的元素 我里面有一个元素列表 android support v7 widget RecyclerView由于它有10多个元素 所以我们需要滑动屏幕才能看到下面的元素 每个
  • 避免多模式数据库上的代码重复

    我有一个遗留应用程序 其中的数据库将数据拆分为同一物理数据库上的多个模式 这些模式在结构上是相同的 我使用 Spring Boot Data JPA 的微服务来处理单个模式 然后 为了避免代码重复 我创建了一个路由器服务 将请求转发到单个架
  • 用零向左填充字符串[重复]

    这个问题在这里已经有答案了 我见过类似的问题here https stackoverflow com questions 388461 padding strings in java and here https stackoverflow
  • 在准备好的语句中使用“like”通配符

    我正在使用准备好的语句来执行 mysql 数据库查询 我想实现基于某种关键字的搜索功能 为此我需要使用LIKE关键字 我知道的就这么多 我以前也使用过准备好的语句 但我不知道如何使用它LIKE因为从下面的代码中我将在哪里添加 keyword
  • JOOQ初始化DAO最佳方法

    我想知道初始化 JOOQ 生成 DAO 的最佳实践 现在 我使用以下方法来初始化 JOOQ 生成的 DAO 在以下情况下 Student Dao 是 JOOQ 生成的 public class ExtendedStudentDAO exte
  • 原子/易失性/同步之间有什么区别?

    原子 易失性 同步内部如何工作 下面的代码块有什么区别 Code 1 private int counter public int getNextUniqueIndex return counter Code 2 private Atomi
  • Android - 更改 ImageButton 上的发送图标的颜色

    如何更改发送图标的默认颜色ImageButton
  • Spring 在使用 JUnit 的单元测试中不自动装配

    我使用 JUnit 测试以下 DAO Repository public class MyDao Autowired private SessionFactory sessionFactory Other stuff here 正如您所看到
  • 请求的操作:声明您的广告 ID 权限

    今天我收到这封电子邮件 去年 7 月 我们宣布了广告政策变更 以帮助加强 安全和隐私 我们对使用的标识符添加了新的限制 针对儿童的应用程序 当用户选择删除他们的 广告 ID 以选择退出个性化广告 如果满足以下条件 开发人员将收到一串零而不是
  • MyBatis 遵循 JPA 吗?

    作为我的第一个 ORM 我已经使用 myBatis 几个月了 现在我正在尝试学习其他东西 例如 Hibernate JPA 起初很难理解 Hibernate 和 JPA 之间的区别 经过几分钟的研究 我明白 JPA 只是一个规范 Hiber
  • 是否有更现代的面向对象版本的“让我们构建一个编译器”? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有更现代的 也许是面向对象的 相当于 Jack Crenshaw 的 让我们构建一个编译器 http
  • 将 person.city.name 添加到 TableView

    我有一个 TableView 和一些 POJO 并且想要将其中一个属性绑定到 TableView 然而 该属性也是一个 POJO 并且应该有一个属性显示在 TableView 中 这是我的代码
  • Java 8 元空间垃圾收集

    我正在运行的 java 进程在运行的第一个小时左右始终表现良好 然而 性能会迅速下降 在分析时 我发现元空间垃圾收集相当频繁地发生 直到小时标记 然后失去控制 我相当确定我能够使用 XX MaxMetaspaceSize 选项来解决此问题
  • Web 服务器上的身份验证和授权 ?

    我正在构建一个 Android 应用程序 它与 apache tomcat 上的 Web 服务器进行通信 Web 服务器采用 JAVA EE 构建 目前 为了进行身份验证和授权 我使用用户名 密码 为了管理会话 我使用令牌 因此 当用户登录
  • 使用 Spring 3 验证向导页面

    我开始研究如何在 Spring 中为类似向导的表单创建控制器 并遇到了 AbstractWizardFormController 我很快注意到它已被弃用 然后我进一步挖掘并发现如何用 Spring 3 完成类似的事情 https stack
  • 远程数据库的“com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链路故障”

    我尝试连接到远程 MySQL 数据库 但失败并收到此错误 com mysql jdbc exceptions jdbc4 CommunicationsException Communications link failure 困惑的是 当我
  • Spring:了解 @SessionAttributes 与 @Scope('session') 之间的区别

    Case 1 Scope Session public class Employee Controller public class EmployeeController Autowired private Employee employe
  • 在基于 Spring 的 Tomcat 应用程序中使用 c3p0 连接池

    我有一个基于 Spring 的 Web 应用程序在 tomcat 6 下运行 现在 我想使用 c3p0 连接池而不是 tomcat 的默认 DBCP 所以 从c3p0帮助 http www mchange com projects c3p0
  • Java 8 哈希映射无法正常工作

    自 java 8 以来 我们面临着 HashMap 行为方式的奇怪问题 当HashMap的键实现了Comparable接口 但compareTo的实现与equals不一致时 HashMaps 长得比它们应该长的大得多 它们包含多个相同元素的

随机推荐

  • javascript中的继承,“父”中的变量

    我是第一次做 OO javascript 我读过有关继承和原型的内容 并认为我已经破解了它 直到我发现了这个小例子 function TestObject data this test array this clone array this
  • 在 Liquid/Jekyll 中对日期格式进行排序(例如“1st”、“3rd”和“4th”)

    是否可以在 Liquid 或 Jekyll 中的日期格式中添加月份后缀 例如 1 月 23 日或 5 月 18 日 我已经提到了Shopify 维基 但我很惊讶地发现那里没有格式 当然应该有这么简单的事情吗 Liquid 模板引擎Jekyl
  • Sql Server 2008 的更改通知

    我有一个由数据库和多个服务组成的应用程序 其中一项服务将信息添加到数据库 由用户触发 另一项服务定期查询数据库以了解更改 并使用新数据作为处理的输入 到目前为止 我使用了一个可配置的计时器 每 30 秒左右查询一次数据库 我读到了有关 Sq
  • 如何将多模块maven项目组装成一个WAR?

    类似问题here 我想从 3 个不同的 Maven 模块中部署一个生成的 WAR 战争模块绝对不冲突 第一个包含 Java 类和一些 WEB INF artifacts 第二个只是 API 接口 必须已经存在于容器中或者是由此产生的战争的一
  • 大约一天后,Service Broker 消息开始挂起

    我有一个使用 Service Broker 的应用程序是 SQL 2008 大约每天一次 数据库的性能开始受到明显的影响 我确定这是由 Service Broker 造成的 如果我使用以下命令硬重置所有代理连接 ALTER DATABASE
  • 获取可排序 jQuery 中拖动列表项的 ID

    我有这个html ul li First li li Second li li Third li ul 和这个 sortable jQuery function listofpages sortable 如何获取被拖动元素的id 在 的里面
  • 从 IEnumerable 转换为列表 [重复]

    这个问题在这里已经有答案了 我想转换自IEnumerable
  • 如何设置 eclipse.ini -vm 选项?

    我安装了Maven插件Eclipse 然后我收到如下错误 请确保 eclipse ini 中的 vm 选项指向 JDK 我该如何使用 vm在 eclipse ini 中选择指向我的 JDK 我的解决方案是 vm D work Java jd
  • 使用 PHP 将 jpg 图像转换为 gif、png 和 bmp 格式

    如何使用 PHP 将单个 jpg 图像转换为 3 种不同的图像格式 gif png 和 bmp 您首先从文件中创建一个图像对象imagecreatefromjpeg 然后 您将该对象转储为不同的格式 使用图像gif 例如 imageObje
  • 使用 ng-repeat 进行 Angularjs 表排序

    我有一个 HTML 表格 想要对我的记录进行排序 scope records在 ctrl 中 通过单击表标题 scope headers在 ctrl 中 任何人都可以解释为什么它有效 th a headers 0 a th th a hea
  • git 预提交钩子代码格式化与部分提交?

    有没有办法有一个预提交钩子来自动格式化代码 对于 示例与astyle 但是确实not销毁部分提交 工作流程 edit a file txt git add p file txt add one chunk but not another g
  • 如何在 Swift 中获得 Bool 的相反值?

    我的具体情况是我正在尝试切换导航栏的隐藏和显示 let navHidden self navigationController navigationBarHidden self navigationController setNavigat
  • iOS - 如何发出 SOAP 请求并接收关注响应

    我知道网络上有很多关于 如何在 iOS 中使用 SOAP 的内容 但我仍然未能遵循 SOAP 请求和响应 非常感谢帮助 我用的是简单的NSURLConnection用于请求和响应 SOAP 请求 POST asmx HTTP 1 1 Hos
  • 服务器端语音识别[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 有人知道已经托管的任何好的服务器端语音识别引擎吗 IE 我希望能够调用一个简单的 Web API 来发布一些声音数据并获取文本 不一定是免费的 但希
  • 获取当前域名

    我的网站在服务器上http www myserver uk com 在此服务器上我有两个域 one com and two com 我想使用 PHP 获取当前域名 但是如果我使用 SERVER HTTP HOST 然后它向我展示 myser
  • 如何在 Rails 连接表迁移中正确索引字段?

    Rails 4 引入了生成连接表迁移的功能 bin rails generate migration CreateTeamsUsersJoinTable team user 这会产生以下文件 class CreateTeamsUsersJo
  • 使用 jQuery,如何仅查找可见元素并保留隐藏元素?

    所以我从第 1 4 项开始 div class someDiv bold italic style display none Lorem div div class someDiv regular italic style display
  • 如何对使用 perlcc 编译的 Perl 程序进行逆向工程?

    我继承了一个在 Unix 上有 编译 perl 脚本的环境 是否可以对其进行反编译 反向工程 无论术语是什么 并从编译后的目标代码中获取源代码 可能不可能 但我想我会问而不是假设 谢谢 凯文 省略已经介绍过的字节码后端 tchrist 只讨
  • CakePHP 2个单独的登录表

    我有一个 Cake 网站 它需要有两个单独的登录名 每个登录名都有自己的登录表单并看到不同的页面 最好有两个不同的表 因为两类人之间没有相似之处 每个登录表单仅由某些人使用 他们永远不会登录另一个表单 反之亦然 还有 两个登录表之间有关系
  • bean实例化失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:

    我的控制器中的构造函数有一些问题 我尝试在构造函数中调用一项服务 该服务在 AbstractController 中自动装配 但我遇到了空指针异常 一个组件 Component RestController RequestMapping v