spring+structs配置不当导致无法正常获取bean
异常如下:
org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'userProfileMananger' is definedorg.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:360)org.springframework.beans.factory.support.AbstractBeanFactory.getMergedBeanDefinition(AbstractBeanFactory.java:692)org.springframework.beans.factory.support.Abstra
web.xml文件配置如下




























structs-config.xml配置如下


















调用
WebApplicationContext wac = this.getWebApplicationContext();
UserProfileManager profileMan = (UserProfileManager)wac.getBean("userProfileMananger");
使用如上方法获取bean userProfileMananger 时,出现文章开头的异常;但是使用如下代码
BeanFactory factory = new XmlBeanFactory(new FileSystemResource("E://workspace//HomeCounter//WebRoot//WEB-INF//applicationContext.xml"));
UserProfileManager profileMan = (UserProfileManager)wac.getBean("userProfileMananger");
获取bean 时,没有任何异常;
原因及解决:
structs中是用spring的bean的时候,需要在structs_config.xml文件中配置plug-in,如下




但是我在web.xml中作了如下配置




导致了/WEB-INF/applicationContext-*.xml中的bean被重复的装载和初始化,因此导致了问题的出现;
通过将



