草庐IT

Bean-IOC

全部标签

java - 使单例成为 Spring bean 的正确方法

我将单例转换为Springbean,因此如果单例无法初始化,则整个Web应用程序的Spring上下文将无法正确加载。使Spring上下文无法正确加载的好处是人们会在部署过程中注意到并修复配置。与使用“非springbean”单例相反:当它在初始化期间抛出异常时,没有人会注意到......直到实际用户提示缺少功能。我的更改按预期工作..但我不确定我是否做对了。有什么想法吗?代码如下所示:publicclassMySingleton{privatestaticMySingletonINSTANCE=null;privateMySingleton(){}publicstaticMySingl

java面试-Spring中bean的生命周期(详解)

系列文章目录文章目录系列文章目录一、Bean的主要四个阶段二、前置处理器和后置处理器前置处理器是在实例化前后进行干预后置处理器是在初始化前后进行干预添加后置处理器后bean的生命周期三、扩展点——多个bean的接口1.多次干预2.只干预一次与aware有关的接口总结一、Bean的主要四个阶段Springbean的生命周期只有四个主要阶段,其他都是在这四个主要阶段前后的扩展点,这四个阶段是:1.实例化Instantiation2.属性赋值Populate3.初始化Initialization4.销毁Destruction其中实例化和属性赋值分别对应构造方法和setter方法的注入,初始化和销毁是

c# - 对于 IoC 容器,构造函数是否仍应检查参数是否为空?

我正在查看OrchardCMS项目源代码,我注意到他们的一些构造函数从不验证所需参数不为null。起初,我认为这很奇怪。我问自己,“考虑到你说这种依赖是必需的,你不想检查一下你是否真的有这种依赖吗?”意识到该项目使用CaSTLeWindsor作为IoC容器,我后来想,“好吧,当容器试图找到具有需求的对象的依赖项时,它会抛出异常。”所以我的问题是,当我知道IoC容器会为我检查时,我还应该检查吗?或者双重检查是否好,因为从某种意义上说,我坚持反向封装原则声明:“我不知道我是如何获得这种依赖性的,但我真的需要一个!” 最佳答案 我被引导遵

spring - 在 XML Bean 定义中引用带注释的 Spring 组件

我正在使用一个外部库,该库要求我使用XMLBean定义对其进行配置;在Bean定义中,我需要从我的项目中提供一个带有Bean的外部类。我正在使用带有组件扫描的Spring注释。如何在XMLBean定义中引用我的注释Bean?除了创建XMLBean定义之外还有其他方法吗?详情:Spring3.0.7 最佳答案 无论它是如何创建的(基于XML或注释元数据),每个bean最终都会以唯一的名称进入应用程序上下文。如果您刚刚使用@Component或派生类注释您的类,而没有说明任何名称,则将应用默认命名方案,并且bean名称将是您的类名称,第

spring - 在 XML Bean 定义中引用带注释的 Spring 组件

我正在使用一个外部库,该库要求我使用XMLBean定义对其进行配置;在Bean定义中,我需要从我的项目中提供一个带有Bean的外部类。我正在使用带有组件扫描的Spring注释。如何在XMLBean定义中引用我的注释Bean?除了创建XMLBean定义之外还有其他方法吗?详情:Spring3.0.7 最佳答案 无论它是如何创建的(基于XML或注释元数据),每个bean最终都会以唯一的名称进入应用程序上下文。如果您刚刚使用@Component或派生类注释您的类,而没有说明任何名称,则将应用默认命名方案,并且bean名称将是您的类名称,第

java - 具有运行时构造函数参数的 Spring bean

这个问题在这里已经有了答案:SpringJavaConfig:howdoyoucreateaprototype-scoped@Beanwithruntimearguments?(9个回答)关闭2年前。我想在SpringJava配置中创建一个Springbean,并在运行时传递一些构造函数参数。我创建了以下Java配置,其中有一个beanfixedLengthReport需要构造函数中的一些参数。@ConfigurationpublicclassAppConfig{@AutowrireDaodao;@Bean@Scope(value="prototype")**//SourceSyste

java - 具有运行时构造函数参数的 Spring bean

这个问题在这里已经有了答案:SpringJavaConfig:howdoyoucreateaprototype-scoped@Beanwithruntimearguments?(9个回答)关闭2年前。我想在SpringJava配置中创建一个Springbean,并在运行时传递一些构造函数参数。我创建了以下Java配置,其中有一个beanfixedLengthReport需要构造函数中的一些参数。@ConfigurationpublicclassAppConfig{@AutowrireDaodao;@Bean@Scope(value="prototype")**//SourceSyste

java - Spring bean定义的优先级是什么?

当定义了几个同名的Springbean时,哪个会隐藏其他的?假设我有几个用@Component("bean")注释的类在org.example包中,加上一个applicationContext.xml,其中包含:当我执行applicationContext.getBean("bean")时将检索哪个bean?根据Springdocumentation:Everybeanhasoneormoreidentifiers.Theseidentifiersmustbeuniquewithinthecontainerthathoststhebean.但是,我知道(因为我测试过)当这完成时Spri

java - Spring bean定义的优先级是什么?

当定义了几个同名的Springbean时,哪个会隐藏其他的?假设我有几个用@Component("bean")注释的类在org.example包中,加上一个applicationContext.xml,其中包含:当我执行applicationContext.getBean("bean")时将检索哪个bean?根据Springdocumentation:Everybeanhasoneormoreidentifiers.Theseidentifiersmustbeuniquewithinthecontainerthathoststhebean.但是,我知道(因为我测试过)当这完成时Spri

java - spring factory-method和factory-bean有什么区别?

我是新春。在Bean标签中,我找到了factory-method和factory-bean属性。factory-method和factory-bean有什么区别?我正在使用工厂方法调用我的getInstance静态方法来创建单例对象。factory-bean是做什么用的?对于给定的回复,我的理解是工厂方法用于调用静态方法在同一个bean类中创建对象。Factory-bean用于创建基于工厂设计模式的对象。例如:-我通过传递我的蔬菜名称(在本例中为EggPlant)来询问来自VegetableFactory的EggPlant对象(这将返回被询问的蔬菜对象)。如果我错了请指正?