赞
踩
配置文件中192.168.61.128中间或前或后可能有空格或特殊字符
网上有多种说法,我这是是在发送消息producer端报的错误
可能原因是rabbitmq控制台已经有了名为fanout_exchange的交换机,我在java代码中有重复定义了,试着修改了下名字就不报错了,加了个1
程序执行是这样子的,先找到main方法开始执行,然后从上先执行static修饰的语句,显示初始化ac,然后开始执行main方法里的语句,由于studentService没有初始化,会在执行它的方法时报出空指针异常,程序运行失败。
为什么不会先实例化StudentService呢?因为StudentService加上@Autowired注解后,
注入是在容器中实例化对象,不再是静态的。而Java变量的初始化顺序为:静态变量或静态语句块–>实例变量或初始化语句块–>构造方法–>@Autowired。main方法中只有启动项目才能加载配置文件,才能自动注入,才能找到响应的bean。
- public static void main( String[] args )
- {
- ApplicationContext actx = new ClassPathXmlApplicationContext("classpath:Spring-config.xml");
-
- UserService userService = actx.getBean(UserServiceImpl.class);
- userService.getUser();
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。