开发者社区> 问答> 正文

有大神知道springboot在监听器中如何获取bean实例对象么??报错

测试类是可以获取到messageService对象的,说明后期的注解没错,但是在监听器中

MessageService messageService = appctx.getBean(MessageServiceImpl.class);

报错

我想应该是servlet容器创建之前没有创建spring容器导致的,求大神支招

展开
收起
爱吃鱼的程序员 2020-06-08 14:27:17 1005 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    贴一下web.xml的配置看看呗,是不是你自己写的listener放到了spring的listener之前了

    回复 @Six_Penny:我这边就是在监听器中启动ice服务,要对ice服务的服务类进行spring容器管理回复 @leoyang203:我觉得你可以把你要做的事说明白会比较好,这样大家的思路能更广一些回复 @leoyang203:@PostConstruct这个注解可以在你生成bean之后做一些后续处理,就跟你调用完构造函数后再调用init函数一样 @Six_Penny回复 @Six_Penny:我试试看,不是非要这个能具体么?对这个@PostConstruct不熟啊

    @WebListener这个是servlet3的注解,它会在spring初始化之前初始化

    你可以用spring的@PostConstruct 注解加在某个方法之后

    你还继续实用WebListener肯定会报错不好意思,刚刚回复到那边去了,才看到,不过我用了@PostConstruct还是报错

    刚刚用了SpringApplicationRunListener这个接口也不行,然后现在用

    @PostConstruct

    去获取bean,还是不行

    SpringApplicationRunListener怎么使用的贴一下看看

    现在就只继承SpringApplicationRunListener,就报错

    Causedby:org.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'ice.listener.IceServer1':Initializationofbeanfailed;nestedexceptionisorg.springframework.beans.ConversionNotSupportedException:Failedtoconvertpropertyvalueoftype'ice.listener.IceServer1'torequiredtype'java.util.EventListener'forproperty'listener';nestedexceptionisjava.lang.IllegalStateException:Cannotconvertvalueoftype'ice.listener.IceServer1'torequiredtype'java.util.EventListener'forproperty'listener':nomatchingeditorsorconversionstrategyfound

    2020-06-08 14:27:32
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载