為啥我的@Bean設(shè)置的init方法不能執(zhí)行,一直報(bào)類型轉(zhuǎn)換錯(cuò)誤
//這是我得到Bean容器的類
public class TestSpring {
public static void main(String[]args){
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("testSpring.xml");
/*TestProperty tp = (TestProperty) context.getBean("testPropertity");
TestProperty tp2 = (TestProperty) context.getBean("testPropertity");
System.out.println(tp);
System.out.println(tp == tp2);
Zhujie1 zj = (Zhujie1) context.getBean("zhujie1");
System.out.println(zj);*/
/*String tb = (String) context.getBean("name");
int pass = (int) context.getBean("pass");
System.out.println(tb);
System.out.println(pass);*/
Store tb2 = (Store) context.getBean("testBean2");
System.out.println(tb2.getClass());
context.close();
//這是我的store接口
public interface Store {}
//這是我的實(shí)現(xiàn)store的類
public class StringStore implements Store{
public void init(){
System.out.println("This is StringStore de init method");
}
public void destroy(){
System.out.println("This is StringStore's destroy method");
}
}
//這是在bean中設(shè)置init與destroy方法的類
@Configuration
public class TestBean2 {
@Bean(name="testBean2",initMethod="init",destroyMethod="destroy")
public Store method(){
return new StringStore();
}
}
//這是錯(cuò)誤
Exception in thread "main" java.lang.ClassCastException: com.test.zhujie2.TestBean2$$EnhancerBySpringCGLIB$$9eeb0c76 cannot be cast to com.test.zhujie2.Store
at com.test.Spring.TestSpring.main(TestSpring.java:24)
2017-03-03
我不懂,但是我想問一下,不能被拋到zhujie2.Store中,代碼中的zhujie2在哪里