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

有2个问题需要解答

1.为什么没有执行destroy方法?
2.为什么我getBean("BeanImplB")他会调用BeanImplA类的init方法?

https://img1.sycdn.imooc.com//5cf7693600012fc403470242.jpg

https://img1.sycdn.imooc.com//5cf769360001a98202790204.jpg

https://img1.sycdn.imooc.com//5cf7693600018a7604380288.jpg

https://img1.sycdn.imooc.com//5cf769360001654607490160.jpg

https://img1.sycdn.imooc.com//5cf769360001148c18370203.jpg


正在回答

3 回答

  1. 看你一下你单元测试继承的类有没有after方法

  2. 在配置注释中如果将bean暴露给容器,那么在运行测试时会自动运行初始方法,所以A类的init方法被调用

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

@Test

public void test() {

ClassPathXmlApplicationContext a=new ClassPathXmlApplicationContext("xml/spring-beanannotation2.xml");

a.start();

BeanImplB ba=(BeanImplB) a.getBean("beanImplB");

System.out.println(ba.getClass().getName());

a.destroy();

}

你改成这样的话就会有destory方法,另外一个问题我也不知道

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

贴一下配置文件

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

梦丶亦丶云 提问者

<context:component-scan base-package="beanannotation"></context:component-scan>配置文件就这句话
2019-06-22 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

有2个问题需要解答

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