我们都知道我们在Spring容器中默认使用bean作为单例,如果我们有一个基于Spring框架的Web应用程序那么在这种情况下我们真的需要实现Singleton设计模式来保存全局数据而不是仅仅通过spring创建一个bean .
如果我无法解释我其实想要问的问题,请耐心等待.
我读到了很多关于单例模式的坏事(单例模式有什么不好?),但是,@Singleton在这个 Micronaut 文档中到处都使用它来说明控制反转https://docs.micronaut.io/1.3.0.M2/guide /index.html#ioc
什么时候使用合适@Singleton?例如,如果我有一个UserInfoService具有getUserInfo, createUserInfo,updateUserInfo方法,那么使用 是一个好主意吗@Singleton?
另一个单独的问题是我何时使用@Prototype,因为如果我不对函数/类使用任何注释,那么默认情况下它不是原型(就像我在另一个类/函数中启动它的新实例一样)?
我正在研究设计模式,有一刻让自己想到了一个想法,即工厂和抽象工厂等大多数创建模式在依赖注入环境的范围内并不是那么有用,在这种环境中我们通常不使用new关键字创建对象,而是“从某种上下文中注入”它们。我也明白我很可能是错的,我需要一个很好的解释来把事情弄清楚。