주요에러
Exception in thread "main" org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'tWalk' is defined
package testPjt;
import org.springframework.context.support.GenericXmlApplicationContext;
public class MainClass {
public static void main(String[] args) {
//TranspotationWalk transpotationWalk = new TranspotationWalk(); // new라는 키워드로 생성자 호출
//transpotationWalk.move(); //메소드나 속성 접근
//컨테이너의 빈에 접근하는 방법
//GenericXmlApplicationContext 클래스 생성할 때 안쪽에 다가 리소스 자원을 적어주면됨
GenericXmlApplicationContext ctx = new GenericXmlApplicationContext("classpath:applicationContext.xml");//컨테이너 생성
//getBean(어떠한 객체를 가져오겠다.)id가 iWalk이고 데이터 타입은 TranspotationWalk.class 인
TranspotationWalk transpotationWalk = ctx.getBean("tWalk", TranspotationWalk .class);
transpotationWalk.move();
ctx.close();
}
}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- xml 파일를 이용해서 객체를 생성 -->
<!-- 컨테이너 안에서 생성된 객체 bean -->
<bean id="twalk" class="testPjt.TranspotationWalk "/>
</beans>
해결방법
MainClass에
ctx.getBean("tWalk", TranspotationWalk .class);
applicationContext.xml
id가 tWalk와 twalk로 달라서 bean을 찾지 못해 오류
tWalk를 twalk로 수정 후 오류 해결