- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我第一次使用springframework
。所以写了一个小程序来测试IoC中生成的实例变量的值。但我收到以下错误:
Feb 24, 2019 10:40:13 PM org.springframework.context.support.AbstractApplicationContext refresh
WARNING: Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'loadingObject' defined in class path resource [Spring-Config.xml]: Could not resolve placeholder 'log4j.configuration' in value "${log4j.configuration}"; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'log4j.configuration' in value "${log4j.configuration}"
Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'loadingObject' defined in class path resource [Spring-Config.xml]: Could not resolve placeholder 'log4j.configuration' in value "${log4j.configuration}"; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'log4j.configuration' in value "${log4j.configuration}"
at org.springframework.beans.factory.config.PlaceholderConfigurerSupport.doProcessProperties(PlaceholderConfigurerSupport.java:228)
at org.springframework.beans.factory.config.PropertyPlaceholderConfigurer.processProperties(PropertyPlaceholderConfigurer.java:213)
at org.springframework.beans.factory.config.PropertyResourceConfigurer.postProcessBeanFactory(PropertyResourceConfigurer.java:86)
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:286)
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:166)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:691)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:528)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:144)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:85)
at com.jcg.spring.log4j.Mainclass.main(Mainclass.java:12)
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'log4j.configuration' in value "${log4j.configuration}"
at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:172)
at org.springframework.util.PropertyPlaceholderHelper.replacePlaceholders(PropertyPlaceholderHelper.java:124)
at org.springframework.beans.factory.config.PropertyPlaceholderConfigurer$PlaceholderResolvingStringValueResolver.resolveStringValue(PropertyPlaceholderConfigurer.java:232)
at org.springframework.beans.factory.config.BeanDefinitionVisitor.resolveStringValue(BeanDefinitionVisitor.java:296)
at org.springframework.beans.factory.config.BeanDefinitionVisitor.resolveValue(BeanDefinitionVisitor.java:217)
at org.springframework.beans.factory.config.BeanDefinitionVisitor.visitPropertyValues(BeanDefinitionVisitor.java:147)
at org.springframework.beans.factory.config.BeanDefinitionVisitor.visitBeanDefinition(BeanDefinitionVisitor.java:85)
at org.springframework.beans.factory.config.PlaceholderConfigurerSupport.doProcessProperties(PlaceholderConfigurerSupport.java:225)
... 9 more
我已将 application.properties
文件和 Spring-Config.xml
元数据文件放置到此位置 ...\src\main\resources
应用程序属性
log4j.configuration=C:\Softwares\ConfigFiles\log4j.properties
Spring-Config.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<bean id="propertiesToBeTaken" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath*:application.properties</value>
<value>classpath*:*keys.properties</value>
</list>
</property>
</bean>
<bean id = "loadingObject" class = "com.jcg.spring.log4j.TestController">
<property name="log4jConfig" value="${log4j.configuration}" />
</bean>
</beans>
代码片段
public class TestController {
public String log4jConfig;
public void setlog4j(String log4jConfig){
this.log4jConfig = log4jConfig;
}
public String getlog4j(){
return this.log4jConfig;
}
}
public class Mainclass {
public static void main(String[] args){
ApplicationContext context = new ClassPathXmlApplicationContext("Spring-Config.xml");
TestController obj = (TestController) context.getBean("TestController");
System.out.println(obj.log4jCongif);
}
}
一切似乎都很好,但不知道为什么会出现这个错误。一时间陷入这个困境。有人可以看一下吗?我缺少什么?
谢谢
最佳答案
Spring 容器似乎正在尝试实例化 TestController
bean 前PropertyPlaceholderConfigurer
所以属性没有得到解决,因此出现错误。
您可以尝试输入 <property name="ignoreUnresolvablePlaceholders" value="true"/>
到 Spring-Config.xml 中告诉 spring 忽略未解析的属性。一次PropertyPlaceholderConfigurer
将被实例化,可能属性将被解析。
试试这个
<bean id="propertiesToBeTaken" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:application.properties</value>
<value>classpath:keys.properties</value>
</list>
</property>
<property name="ignoreUnresolvablePlaceholders" value="true"/>
</bean>
还有一些变化:
TestController obj = (TestController) context.getBean("loadingObject");
关于java - 无效的 bean 定义 : Could not resolve placeholder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54854464/
我已经开始学习 tensorflow,但很难理解占位符/变量问题。 我正在尝试编写一个矩阵乘法函数。它在使用 tf.constant 时有效,但我很难理解如何使用变量 这是我的代码 import te
我正在尝试匹配两个 URL,一个带有占位符,一个带有 Angular 中的填充占位符和 TypeScript。 例如 URL 在占位符被填充之前: http://this/is/{placeholde
我正在尝试理解 std::bind。我编写了以下程序。 #include
结果:两个属性文件均已加载 其中properties_location是“a.properties,b.properties” result: Exception in thread "main"
根据this推荐的解决方案是让 Placeholder 实现 Parcelable 接口(interface)。但在我的例子中,Placeholder 已经是一个接口(interface),因此无法实
当我尝试更改 input 元素的 placeholder 属性时,它已成功完成。如果我将其更改为 MVC 中的 textboxfor 或 textareafor 元素,即使我使用 @placehold
我在我的 Pycharm 中编写了以下代码,它在 Tensorflow 中执行完全连接层 (FCL)。占位符发生无效参数错误。所以我在占位符中输入了所有的dtype、shape和name,但我仍然得到
当我尝试使用 removeAttr('placeholder') 从输入元素中删除占位符属性时:placeholder-shown 伪类不会从元素中删除,而是会更改输入值的颜色。 $(document
这很可能是一个错误,但我在这里报告它以供引用,并希望有人能够提出解决方法。 IE 11 在 textarea 元素上原生支持 placeholder 属性。那太棒了。但是,向 DOM 添加一个带有占位
尝试运行此代码时出现上述意外错误: # -*- coding: utf-8 -*- """ Created on Fri Jun 24 10:38:04 2016 @author: andrea ""
MVC 5.2.2 Razor 3.2.2 剑道 MVC UI v2014.2.903 在 Javascript 中,当我想更改 ComboBoxFor 的占位符文本时,我想我可以这样做: @mode
我想像这样向占位符添加一个图标 $("#tag_list").select2({ allowClear: true, placeholder: " inout
我们可以在play2的anorm中编写如下的sqls: def findById(id: String): Option[Link] = DB.withConnection {implicit con
在我的 iOS 应用程序中,我有一个简单的 View ,我以编程方式向其中添加了 TabBar 和 Navigation Bar。我使用 Interface Builder 添加了几个 GUI 元素。
我有这个代码 var i = 1 println(i) //result is 1 println(%02i) //is wrong 我希望它输出 01 而不是 1 最佳答案 不幸的是,你不能像这
我有一个简单的 HTML 表单,其中包含输入: 我有一个 JS 函数来检查输入的值是否为空,如果是,则用占位符的值填充它(对于非 Webkit 浏览器)。现在我想阻止保存占位符的值,所以我编写了一个
我正在使用 mathiasbynens / jquery-placeholder在 IE9 中启用占位符。我遵循了自述文件中提到的简单步骤。 但我在 $('input, textarea').plac
由于并非所有用户都保证支持 HTML 5 占位符属性,因此我尝试在 JavaScript 中为其构建解决方法: $(document).ready(function() { var searc
下面的链接将在 http://placehold.it 提供的占位符图像上打印“hello world” http://placehold.it/200&text=hello+world 是否可以在上
有没有办法设置“占位符”并稍后在逐行创建文本文件时编辑此部分,或者我是否必须最后进行行搜索并编辑此部分? 我想用常量对选定的行进行计数,如果到达文件末尾,我想将列表常量的总和写入文件头。 CONSTA
我是一名优秀的程序员,十分优秀!