有2个问题需要解答

来源:4-5 Spring Bean装配之基于Java的容器注解说明——@Bean

梦丶亦丶云

2019-06-05 15:01

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

https://img2.mukewang.com/5cf7693600012fc403470242.jpg

https://img2.mukewang.com/5cf769360001a98202790204.jpg

https://img3.mukewang.com/5cf7693600018a7604380288.jpg

https://img.mukewang.com/5cf769360001654607490160.jpg

https://img1.mukewang.com/5cf769360001148c18370203.jpg


写回答 关注

3回答

  • forApril
    2019-07-19 16:06:31
    1. 看你一下你单元测试继承的类有没有after方法

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

  • 慕的地9539986
    2019-07-04 11:55:28

    @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方法,另外一个问题我也不知道

  • qq_慕侠2018299
    2019-06-21 16:48:33

    贴一下配置文件

    梦丶亦丶云

    <context:component-scan base-package="beanannotation"></context:component-scan>配置文件就这句话

    2019-06-22 10:33:15

    共 1 条回复 >

Spring入门篇

为您带来IOC和AOP的基本概念及用法,为后续高级课程学习打下基础

268785 学习 · 963 问题

查看课程

相似问题