IDEA中 单例模式下,测试spring的初始化和销毁不成功

非沧海一粟不随波逐流 发布于 2016/10/20 11:11
阅读 482
收藏 0

我用IDEA按照书中所示测试Spring 初始化和销毁,但是,单例模式下,销毁和初始化不成功,不是单例模式下销毁出现不了




这是IDEA打印出来的东西


public class ExampleBean {
    public ExampleBean(){
        System.out.println("实例化ExampleBean");
    }

    public void execute(){
        System.out.println("执行ExampleBean处理");
    }

    public  void init(){
        System.out.println("初始化ExampleBean");
    }
    public void destroy(){
        System.out.println("销毁ExampleBean");
    }
}


public class Test6 {
    public static void main(String [] args) throws Exception{
        String conf  = "applicationContext.xml";
        AbstractApplicationContext ac = new ClassPathXmlApplicationContext(conf);
        ExampleBean bean1 = ac.getBean("exampleBean",ExampleBean.class);
        ExampleBean bean2 = ac.getBean("exampleBean",ExampleBean.class);
        System.out.println(bean1==bean2);
    }
}
<!--实例化-->
       <bean id="exampleBean" class="org.szy.dao.ExampleBean" scope="singleton" init-method="init"  destroy-method="destroy">

       </bean>



加载中
1
开源Abby
开源Abby
你的main函数给看一下。
非沧海一粟不随波逐流
非沧海一粟不随波逐流
谢谢,正解
非沧海一粟不随波逐流
非沧海一粟不随波逐流
回复 @开源Abby : 但是我不是在spring配置文件中写了init和destroy吗?
开源Abby
开源Abby
回复 @不随波逐流 : Main函数最后你没有:ac.registerShutdownHook();
非沧海一粟不随波逐流
非沧海一粟不随波逐流
我补充进去了,代码太多不方便直接评论
0
碧海青天丶夜夜心
碧海青天丶夜夜心
这好像是端口被占用了把
非沧海一粟不随波逐流
非沧海一粟不随波逐流
没有被占用的情况、、、、
0
xiekongye
xiekongye
2楼正解,main中调用ac.registerShutdownHook()函数。非web环境中关闭IOC容器的方法就是注册一个该事件,该事件会在jvm关闭时被触发。
0
小豪哥哥丶
可以体验一下魔方网表试试,做管理系统的平台。
返回顶部
顶部