spring的bean的 scope问题,在service及dao中 什么情况下 必须用prototype呢在sping里 为什么 service和 dao 的bean 的 scope熟悉往往是 默认的 singleton,无状态,在什么情况下才要用prototype呢,请举例说明下,本
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/19 16:42:12
![spring的bean的 scope问题,在service及dao中 什么情况下 必须用prototype呢在sping里 为什么 service和 dao 的bean 的 scope熟悉往往是 默认的 singleton,无状态,在什么情况下才要用prototype呢,请举例说明下,本](/uploads/image/z/14575464-0-4.jpg?t=spring%E7%9A%84bean%E7%9A%84+scope%E9%97%AE%E9%A2%98%2C%E5%9C%A8service%E5%8F%8Adao%E4%B8%AD+%E4%BB%80%E4%B9%88%E6%83%85%E5%86%B5%E4%B8%8B+%E5%BF%85%E9%A1%BB%E7%94%A8prototype%E5%91%A2%E5%9C%A8sping%E9%87%8C+%E4%B8%BA%E4%BB%80%E4%B9%88+service%E5%92%8C+dao+%E7%9A%84bean+%E7%9A%84+scope%E7%86%9F%E6%82%89%E5%BE%80%E5%BE%80%E6%98%AF+%E9%BB%98%E8%AE%A4%E7%9A%84+singleton%2C%E6%97%A0%E7%8A%B6%E6%80%81%2C%E5%9C%A8%E4%BB%80%E4%B9%88%E6%83%85%E5%86%B5%E4%B8%8B%E6%89%8D%E8%A6%81%E7%94%A8prototype%E5%91%A2%2C%E8%AF%B7%E4%B8%BE%E4%BE%8B%E8%AF%B4%E6%98%8E%E4%B8%8B%2C%E6%9C%AC)
spring的bean的 scope问题,在service及dao中 什么情况下 必须用prototype呢在sping里 为什么 service和 dao 的bean 的 scope熟悉往往是 默认的 singleton,无状态,在什么情况下才要用prototype呢,请举例说明下,本
spring的bean的 scope问题,在service及dao中 什么情况下 必须用prototype呢
在sping里 为什么 service和 dao 的bean 的 scope熟悉往往是 默认的 singleton,无状态,在什么情况下才要用prototype呢,请举例说明下,
本人 也知道 service 和 dao 和 action不一样,action必须为prototype ,但是我希望有高手 什么情况下 service就不能用 默认的 scope属性了.希望能举例说明,3Q
spring的bean的 scope问题,在service及dao中 什么情况下 必须用prototype呢在sping里 为什么 service和 dao 的bean 的 scope熟悉往往是 默认的 singleton,无状态,在什么情况下才要用prototype呢,请举例说明下,本
先说说单例(Singleton):如果使用单例模式,就说明系统中只有一个实例,这个实例的状态和数据都是共享的. 比如你有一个Class是FoodFactory,里面有一个属性是List foodList,你希望每个请求都能共享到这个list,那么就应该是单例的.或者删除或者添加,操作的都是同个对象的list.
如果是prototype模式, 那么你每个请求过来,都会给你初始化一个FoodFactory,foodList也就不可能共享了.
action使用prototype那是必须的,因为每个请求的参数都不同,返回也不同,是有状态的.也就是说,不能让小一的请求,使用的小二的信息给他返回.
service和dao一般使用singleton, 因为service一般是通过具体的dao来实现他的特定的一些服务. 而对于dao,他所做的事情无非是通过sessionFactory创建session来操作数据库,所以对于每个请求,只要共享他的session就行了. 这过程中无需给service 或者dao传递参数,是没有状态的. 当然如果硬要用prototype也是可以的,只是浪费资源而已.