码迷,mamicode.com
首页 > 编程语言 > 详细

在main方法中初始化spring环境,注入bean

时间:2018-07-09 15:22:37      阅读:412      评论:0      收藏:0      [点我收藏+]

标签:pre   java   span   one   def   new   cto   style   ted   

public static void main(String[] args) {

    LOGGER.info("==启动APP日志队列程序==");
    SpringUtils.getBean(UserAppLogConsumerListener.class);
}

  一开始我是使用自定义的spring工具类的getBean方法进行初始化,但是存在问题:配置文件中用有引用UserAppLogConsumerListener这个bean,导致报错expected single matching bean but found 2

Exception in thread "main" org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type ‘com.cdd.rabbitmq.consume.listener.UserAppLogConsumerListener‘ available: expected single matching bean but found 2: userAppLogConsumerListener,userAppReceiver
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveNamedBean(DefaultListableBeanFactory.java:1039)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:339)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:334)
    at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1107)
    at com.cdd.core.utils.SpringUtils.getBean(SpringUtils.java:28)
    at com.cdd.rabbitmq.consume.Main.main(Main.java:23)

  然后换了一种方式,直接根据配置文件加载ApplicationContext,成功

public static void main(String[] args) {

    LOGGER.info("==启动APP日志队列程序==");
//    SpringUtils.getBean(UserAppLogConsumerListener.class);
    ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
}

 

在main方法中初始化spring环境,注入bean

标签:pre   java   span   one   def   new   cto   style   ted   

原文地址:https://www.cnblogs.com/volcano-heaven/p/9283677.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!