解决Spring错误:No bean named ‘HelloSpring’ available
报错:“C:Program FilesJavajdk1.8.0_221binjava.exe” “-javaagent:C:ideaIntelliJ IDEA 2021.2.3libidea_rt.jar=63532:C:ideaIntelliJ IDEA 2021.2.3bin” -Dfile.encoding=UTF-8 -classpath “C:Program FilesJavajdk1.8.0_221jrelibcharsets.jar;C:Program FilesJavajdk1.8.0_221jrelibdeploy.jar;C:Program FilesJavajdk1.8.0_221jrelibextaccess-bridge-64.jar;C:Program FilesJavajdk1.8.0_221jrelibextcldrdata.jar;C:Program FilesJavajdk1.8.0_221jrelibextdnsns.jar;C:Program FilesJavajdk1.8.0_221jrelibextjaccess.jar;C:Program FilesJavajdk1.8.0_221jrelibextjfxrt.jar;C:Program FilesJavajdk1.8.0_221jrelibextlocaledata.jar;C:Program FilesJavajdk1.8.0_221jrelibextnashorn.jar;C:Program FilesJavajdk1.8.0_221jrelibextsunec.jar;C:Program FilesJavajdk1.8.0_221jrelibextsunjce_provider.jar;C:Program FilesJavajdk1.8.0_221jrelibextsunmscapi.jar;C:Program FilesJavajdk1.8.0_221jrelibextsunpkcs11.jar;C:Program FilesJavajdk1.8.0_221jrelibextzipfs.jar;C:Program FilesJavajdk1.8.0_221jrelibjavaws.jar;C:Program FilesJavajdk1.8.0_221jrelibjce.jar;C:Program FilesJavajdk1.8.0_221jrelibjfr.jar;C:Program FilesJavajdk1.8.0_221jrelibjfxswt.jar;C:Program FilesJavajdk1.8.0_221jrelibjsse.jar;C:Program FilesJavajdk1.8.0_221jrelibmanagement-agent.jar;C:Program FilesJavajdk1.8.0_221jrelibplugin.jar;C:Program FilesJavajdk1.8.0_221jrelibresources.jar;C:Program FilesJavajdk1.8.0_221jrelibrt.jar;C:JavaEE应用开发JavaEE-idea-workteacher-workchapter06-unit6targetclasses;C:.m2repositoryorgspringframeworkspring-core5.2.8.RELEASEspring-core-5.2.8.RELEASE.jar;C:.m2repositoryorgspringframeworkspring-jcl5.2.8.RELEASEspring-jcl-5.2.8.RELEASE.jar;C:.m2repositoryorgspringframeworkspring-beans5.2.8.RELEASEspring-beans-5.2.8.RELEASE.jar;C:.m2repositoryorgspringframeworkspring-context5.2.8.RELEASEspring-context-5.2.8.RELEASE.jar;C:.m2repositoryorgspringframeworkspring-aop5.2.8.RELEASEspring-aop-5.2.8.RELEASE.jar;C:.m2repositoryorgspringframeworkspring-expression5.2.8.RELEASEspring-expression-5.2.8.RELEASE.jar;C:.m2repositorycommons-loggingcommons-logging1.2commons-logging-1.2.jar;C:.m2repositoryorgprojectlomboklombok1.18.24lombok-1.18.24.jar” cn.js.ccit.TestHelloSpring
Exception in thread “main” org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named ‘HelloSpring’ available
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:816)
at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1288)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1109)
at cn.js.ccit.TestHelloSpring.main(TestHelloSpring.java:11)
进程已结束,退出代码为 1
初始代码:
public class TestHelloSpring {
public static void main(String[] args){
//初始化spring容器,加载applicationContext.xml配置
ClassPathXmlApplicationContext applicationContext=
new ClassPathXmlApplicationContext("applicationContext.xml");
//通过容器获取配置中helloSpring的实例
HelloSpring helloSpring=(HelloSpring)applicationContext.getBean("HelloSpring");
//调用方法
helloSpring.show();
}
}
解决过程:
方法一:将resources标记为资源根(未解决)
变成一下形式:
原因分析:方法二(最终方法):修改大小写
getBean(“HelloSpring”)中将小写误写为大写
解决方案:
将大写给位小写//最终修改代码:
public class TestHelloSpring {
public static void main(String[] args){
//初始化spring容器,加载applicationContext.xml配置
ClassPathXmlApplicationContext applicationContext=
new ClassPathXmlApplicationContext("applicationContext.xml");
//通过容器获取配置中helloSpring的实例
HelloSpring helloSpring=(HelloSpring)applicationContext.getBean("helloSpring");
//调用方法
helloSpring.show();
}
}



