为了账号安全,请及时绑定邮箱和手机立即绑定

为啥我的@Bean设置的init方法不能执行,一直报类型转换错误

//这是我得到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 {}

//这是我的实现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中设置init与destroy方法的类

@Configuration

public class TestBean2 {

@Bean(name="testBean2",initMethod="init",destroyMethod="destroy")

public Store method(){

return new StringStore();

}

}

//这是错误

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)


正在回答

1 回答

我不懂,但是我想问一下,不能被抛到zhujie2.Store中,代码中的zhujie2在哪里


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为啥我的@Bean设置的init方法不能执行,一直报类型转换错误

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信