今天拉取了一个项目,使用了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了。