spring IoC-选择单例还是多例

选择单例还是多例

看下面的例子:

service

public class UserSrvImpl  {
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

}

spring.xml

<bean id="UserSrvImpl"  class="com.yingqi.service.UserSrvImpl">
</bean>

启动类

public class Main2 {

    public static void main(String[] args) {
        //读取spring.xml文件,启动spring容器
        ApplicationContext ac=new ClassPathXmlApplicationContext("spring.xml");
        //根据spring.xml中bean标签的id,从spring容器中取出对象
        UserSrvImpl srv=(UserSrvImpl)ac.getBean("UserSrvImpl");

        UserSrvImpl srv2=(UserSrvImpl)ac.getBean("UserSrvImpl");

        srv.setName("李雷");
        srv2.setName("韩梅梅");

        System.out.println(srv.getName());//打印的是谁????
    }
}
```、
执行结果是:

韩梅梅
```

总结

当有成员变量,而且成员变量的值会改变时,就不要使用单例模式,否则会互相干扰,此时应该用多例模式


原文出处:/show_1IXU57jjALc.html