草庐IT

Bean-IOC

全部标签

java - 如何强制 Spring 容器不返回 bean 的单例实例?

当我在BeanFactory上调用getBean(name)时,我会返回应用程序上下文中定义的bean实例。但是,当我再次调用getBean(name)(使用相同的名称)时,我得到了相同的bean实例。我知道在某些(很多?)情况下这是多么可取,但是我如何告诉BeanFactory给我一个新实例?Spring配置示例(简而言之……我省略了一些冗长的内容,但这应该能说明问题):Java示例:for(inti=0;i++;i当我运行它时,我会得到类似的东西:misc.BeanClass@139894misc.BeanClass@139894请注意,两者都有相同的OOID...所以这些是相同的

java - 如何强制 Spring 容器不返回 bean 的单例实例?

当我在BeanFactory上调用getBean(name)时,我会返回应用程序上下文中定义的bean实例。但是,当我再次调用getBean(name)(使用相同的名称)时,我得到了相同的bean实例。我知道在某些(很多?)情况下这是多么可取,但是我如何告诉BeanFactory给我一个新实例?Spring配置示例(简而言之……我省略了一些冗长的内容,但这应该能说明问题):Java示例:for(inti=0;i++;i当我运行它时,我会得到类似的东西:misc.BeanClass@139894misc.BeanClass@139894请注意,两者都有相同的OOID...所以这些是相同的

java - 为什么使用构造函数参数 Autowiring 原型(prototype)bean时不调用@PostConstruct方法

我有一个原型(prototype)范围的bean,我想通过@Autowired注解注入(inject)它。在这个bean中,还有@PostConstruct方法,它没有被Spring调用,我不明白为什么。我的bean定义:packagesomepackage;importorg.springframework.context.annotation.Scope;importorg.springframework.stereotype.Component;importjavax.annotation.PostConstruct;@Component@Scope("prototype")pu

java - 为什么使用构造函数参数 Autowiring 原型(prototype)bean时不调用@PostConstruct方法

我有一个原型(prototype)范围的bean,我想通过@Autowired注解注入(inject)它。在这个bean中,还有@PostConstruct方法,它没有被Spring调用,我不明白为什么。我的bean定义:packagesomepackage;importorg.springframework.context.annotation.Scope;importorg.springframework.stereotype.Component;importjavax.annotation.PostConstruct;@Component@Scope("prototype")pu

java - 如何告诉spring只加载JUnit测试所需的bean?

一个可能有高级答案的简单问题。问题:我的问题是,有没有办法在您的应用程序上下文中仅实例化特定JUnit测试所需的类?原因:我的应用程序上下文变得相当大。我也做了很多集成测试,所以我想你会明白,当我说每次我运行测试时,我的应用程序上下文中的所有类都会被实例化,这需要时间。例子:说类Foo只注入(inject)吧publicclassFoo{@InjectBarbar;@TestpublicvoidtestrunSomeMethod()throwsRegisterFault{bar.runSomeMethod();}但是应用程序上下文有beanfoobar和bar。我知道这不是一个有效的应

java - 如何告诉spring只加载JUnit测试所需的bean?

一个可能有高级答案的简单问题。问题:我的问题是,有没有办法在您的应用程序上下文中仅实例化特定JUnit测试所需的类?原因:我的应用程序上下文变得相当大。我也做了很多集成测试,所以我想你会明白,当我说每次我运行测试时,我的应用程序上下文中的所有类都会被实例化,这需要时间。例子:说类Foo只注入(inject)吧publicclassFoo{@InjectBarbar;@TestpublicvoidtestrunSomeMethod()throwsRegisterFault{bar.runSomeMethod();}但是应用程序上下文有beanfoobar和bar。我知道这不是一个有效的应

java - 如何在 Spring 中连接相互依赖的 bean?

我想声明两个bean并使用Spring依赖注入(inject)实例化它们?但是Spring抛出一个异常说“当前正在创建的FactoryBean从getObject返回null”为什么相互依赖的bean布线在这里不起作用?我应该在任何地方指定延迟属性绑定(bind)吗? 最佳答案 不幸的是容器初始化在Spring中的工作方式,一个bean只能在完全初始化后注入(inject)另一个bean。在您的情况下,您有一个循环依赖关系,它会阻止初始化任何一个bean,因为它们相互依赖。为了解决这个问题,您可以在其中一个bean中实现BeanFa

java - 如何在 Spring 中连接相互依赖的 bean?

我想声明两个bean并使用Spring依赖注入(inject)实例化它们?但是Spring抛出一个异常说“当前正在创建的FactoryBean从getObject返回null”为什么相互依赖的bean布线在这里不起作用?我应该在任何地方指定延迟属性绑定(bind)吗? 最佳答案 不幸的是容器初始化在Spring中的工作方式,一个bean只能在完全初始化后注入(inject)另一个bean。在您的情况下,您有一个循环依赖关系,它会阻止初始化任何一个bean,因为它们相互依赖。为了解决这个问题,您可以在其中一个bean中实现BeanFa

spring - Spring如何处理 'Rejected bean name - no URL paths identified'?

我有一个SpringBoot应用程序,并且在启动时收到以下消息:7701[main]DEBUGo.s.w.s.h.BeanNameUrlHandlerMapping-Rejectedbeanname'org.springframework.context.annotation.internalConfigurationAnnotationProcessor':noURLpathsidentified7701[main]DEBUGo.s.w.s.h.BeanNameUrlHandlerMapping-Rejectedbeanname'org.springframework.context

spring - Spring如何处理 'Rejected bean name - no URL paths identified'?

我有一个SpringBoot应用程序,并且在启动时收到以下消息:7701[main]DEBUGo.s.w.s.h.BeanNameUrlHandlerMapping-Rejectedbeanname'org.springframework.context.annotation.internalConfigurationAnnotationProcessor':noURLpathsidentified7701[main]DEBUGo.s.w.s.h.BeanNameUrlHandlerMapping-Rejectedbeanname'org.springframework.context