public class StorageConfiguration extends Properties {
private final String PROPERTY_NAME_1 = "property.key";
public String getProperty1() {
return this.getProperty(PROPERTY_NAME_1);
}
public void setProperty1(String property1) {
this.setProperty(PROPERTY_NAME_1, property1);
}
}
public class Storage {
StorageConfiguration storageConfiguration;
@Autowired
public void setStorageConfiguration(StorageConfiguration storageConfiguration) {
this.storageConfiguration = storageConfiguration;
}
public void init() {
// Initialize properties in this class using StorageConfiguration.
}
}
<bean id="storage" class="com.k4rthik.labs.Storage" init-method="init">
<property name="storageConfiguration" ref="storageConfiguration" />
</bean>
<bean id="storageConfiguration"
class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="storageConfiguration">
<props>
<prop key="property.key">property_value</prop>
</props>
</property>
</bean>
我预计Spring会通过将属性“property.key”设置为“property_value”来初始化StorageConfiguration对象。
但是,我得到以下异常
org.springframework.beans.factory.beanCreationException:创建类路径资源[applicationContext.xml]中定义的名为“storage”的bean时出错:在设置bean属性“authorization config”时无法解析对bean“storage configuration”的引用;嵌套异常是org.springframework.beans.factory.beanCreationException:创建类路径资源[applicationContext.xml]中定义的名为“authorization config”的bean时出错:设置属性值时出错;嵌套异常是org.springframework.beans.notwritablePropertyException:bean类[org.springframework.beans.factory.config.propertiesFactoryBean]的无效属性“Storage Configuration”:bean属性“Storage Configuration”不可写或具有无效的setter方法。setter的参数类型与getter的返回类型匹配吗?
PropertiesFactoryBean创建properties类型的bean。
若要创建StorageConfiguration,可以创建一个复制构造函数
public class StorageConfiguration
{
public StorageConfiguration(Properties defaults) {
super(defaults);
}
}
那么这个应该管用:
<bean id="storageConfiguration" class="..StorageConfiguration">
<constructor-arg>
<bean class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="properties">
<props>
<prop key="property.key">property_value</prop>
</props>
</property>
<bean>
</constructor-arg>
</bean>
<bean id="storageConfiguration" class="..StorageConfiguration">
<constructor-arg>
<props>
<prop key="property.key">property_value</prop>
</props>
</constructor-arg>
</bean>
我是Spring MVC的新手,我正在做一些测试。我试图找到一些关于这个问题的答案,但大多数都引用了Spring3.11,我使用的是上一个版本:4.1.6。 我希望在应用程序启动时加载一个“.properties”文件,并使用其中的信息创建一个bean,以便在应用程序的所有上下文中访问它。 我认为(不确定)我在root-context.xml中正确地声明了bean: 我也认为我正确地制作了bean
我在使用Mockito进行单元测试初始化对象时遇到了一些困难 这是我的测试代码 要测试的代码 RecTangleService、CircleService和SquareService用注释我尝试了很多选项,最终得出结论。我没有得到我错在哪里。我试着在网上搜索了很多地方,但找不到任何帮助。
我想使用“=”符号初始化MyClass的对象。 例如。字符串a=“你好”; 我想做 这是我用构造函数写的类
问题内容: 我有一个使用Spring的类初始化我的Log4J日志工厂的Web应用程序。基本上,它使用不在类路径中的配置文件来初始化Log4J。 这是配置: 但是,在应用程序启动时出现此错误: 大量的Spring应用程序上下文初始化消息被打印到控制台。我认为这是因为Spring在有机会初始化记录器之前正在进行初始化应用程序的工作。如果很重要,我将在Log4J之上使用SLF4J。 有什么办法可以使Lo
问题内容: 我在用Java工作。 我通常会这样设置一些对象: 问题是:在此示例中是否等于,按原样我可以假定对未初始化的对象进行空检查将是准确的? 问题答案: 正确,未显式初始化的引用类型的静态成员和实例成员都由Java 设置为。相同的规则适用于数组成员。 根据Java语言规范的第4.12.5节: 变量的初始值 程序中的每个变量在使用值之前都必须具有一个值: 每个类变量,实例变量或数组组件在创建时均