对象的多例和单例管理

对象的多例和单例管理:
  IoC容器默认管理的Bean对象是单例的。scope="singleton".
  如果希望多例:scope="prototype".

  什么时候用单例,什么时候用多例?
  Service,dao一般都是单例的。因为获取对象的目的是调用方法。不需要多例创建对象。
    像这样的Bean,也称为无状态Bean(没有属性,或即使有属性,它的属性值也是不变的)
  实体类一般都是多例的。因为使用这样的对象封装数据,不能被多线程并发操作,否则会出现线程安全问题。
    像这样的Bean,也称为有状态Bean(有属性的,每次线程操作属性值往往变化的)

  单例对象和多例对象什么时候创建?
  单例对象是在服务器启动,构造IoC容器时就创建好了,name,我们在使用时直接从容器中获取利用,效率比较高。
  多例对象每一次getBean时才创建,它是现去创建的。效率比较低,但是,对象的使用比较安全。

原文地址:https://www.cnblogs.com/zdigd/p/6893087.html