Spring NoSuchBeanDefinitionException: No bean named 'xxxx' is defined 问题解决

今天拉取了一个项目,使用了Spring框架,对于配置好久都没有配置过了,启动竟然报错

NoSuchBeanDefinitionException: No bean named 'xxxx' is defined。

然后分析:原因有几个

1、既然报这个错误,可能是配置文件没有读取到;(调试发现确实没有)

2、看配置application-*.xml中对应的bean已经都配置了;(可以确认)

项目打包到linux环境上是可以正常启动了,那就说明本地的配置文件路径可能有问题。

然后无意中发现:config这个文件夹不是资源文件(source folder),而是普通文件夹(folder)。

然后将存放application-*.xml的文件夹config改成资源文件夹,启动ok!

private static String resource = "application-*.xml"; //file need in source folder
public static ApplicationContext factory = new ClassPathXmlApplicationContext(resource);

这下就能通过factory获取对应的bean了。

发布了29 篇原创文章 · 获赞 3 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/yangleiGJ/article/details/90411603