Java Spring中的@lazy和@Scope(“prototype”)有什么区别
根据我在联机资源中读到的内容,@lazy和scopeprototype都会按需创建bean,这与默认的作用域不同,默认的作用域是singleton。那么,在定义类时,什么时候适合使用@lazy而不是prototype,反之亦然,或者同时使用它们Java Spring中的@lazy和@Scope(“prototype”)有什么区别,java,spring,Java,Spring,根据我在联机资源中读到的内容,@lazy和scopeprototype都会按需创建bean,这与默认的作用域不同,默认的作用域是singleton。那么,在定义类时,什么时候适合使用@lazy而不是prototype,反之亦然,或者同时使用它们 提前感谢。懒惰:bean只有在被引用时才被初始化,但随后可以被重用 原型:每次使用bean都会得到一个新实例 因此,Lazy的资源密集度较低。Lazy:bean只有在被引用时才会初始化,但随后可以重用 原型:每次使用bean都会得到一个新实例 因此,La
提前感谢。懒惰:bean只有在被引用时才被初始化,但随后可以被重用 原型:每次使用bean都会得到一个新实例
因此,Lazy的资源密集度较低。Lazy:bean只有在被引用时才会初始化,但随后可以重用 原型:每次使用bean都会得到一个新实例
因此,Lazy的资源密集度较低。@Lazy不是作用域。要回答您的问题,您首先需要了解范围和实例化之间的关系 每个容器创建一次单例(默认范围)(例如,在启动webapp时)。 每次注入都会创建一次原型(每次类获得bean时) @Lazy告诉Spring不要急于创建bean。对于单例,这意味着它不会在启动时创建,而是在第一次注入时构建。它对原型没有影响,因为它们是在注入之前才被创建的 总之,@Lazy只适用于单例。如果说lazy singleton是由一个非lazy singleton(在启动时创建)注入的,那么@lazy不会有效地执行任何操作 注意:@Lazy还可能影响其他作用域,如请求、会话等。您可能正在使用代理来处理这些作用域,这将从技术上控制实际的作用域/惰性 有关范围的更多信息,请参阅Spring的文档:
@Lazy不是作用域。要回答您的问题,您首先需要了解范围和实例化之间的关系 每个容器创建一次单例(默认范围)(例如,在启动webapp时)。 每次注入都会创建一次原型(每次类获得bean时) @Lazy告诉Spring不要急于创建bean。对于单例,这意味着它不会在启动时创建,而是在第一次注入时构建。它对原型没有影响,因为它们是在注入之前才被创建的 总之,@Lazy只适用于单例。如果说lazy singleton是由一个非lazy singleton(在启动时创建)注入的,那么@lazy不会有效地执行任何操作 注意:@Lazy还可能影响其他作用域,如请求、会话等。您可能正在使用代理来处理这些作用域,这将从技术上控制实际的作用域/惰性 有关范围的更多信息,请参阅Spring的文档:
请注意“这对原型bean没有意义-它们不能被急切地初始化,所以没有必要将它们标记为懒惰。”非常感谢您的回复“现在它有意义了”请注意“这对原型bean没有意义-它们不能被急切地初始化,所以没有必要将它们标记为懒惰。”非常感谢您的回复,现在有意义了