【发布时间】:2018-09-29 01:41:08
【问题描述】:
我有一个属性 XML 文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<entry key="sample.findAll">
<![CDATA[
The SQL query goes here
]]>
</entry>
</properties>
还有一个配置文件如下:
@ImportResource("classpath:sql/find-all-sample-native-query.xml")
@Configuration
public class SampleFindAllConfig {
@Value("#{sample.findAll}")
private String findAllQuery;
@Bean
public String findAllSampleNativeQuery() {
return findAllQuery;
}
}
我在 DAO 类中注入 Bean,如下所示:
@Inject
private String findAllAnomalieNativeQuery;
但是当我运行我的应用程序时出现此错误:
org.springframework.beans.factory.UnsatisfiedDependencyException: 创建名为“sampleDAO”的 bean 时出错:不满足的依赖关系 通过字段“findAllSampleNativeQuery”表示;嵌套异常 是 org.springframework.beans.factory.UnsatisfiedDependencyException: 创建名为“sampleFindAllConfig”的 bean 时出错:不满意 通过字段“findAllQuery”表示的依赖关系;嵌套异常是 org.springframework.beans.factory.BeanExpressionException:表达式 解析失败;嵌套异常是 org.springframework.expression.spel.SpelEvaluationException:EL1008E: 在类型的对象上找不到属性或字段“样本” 'org.springframework.beans.factory.config.BeanExpressionContext' - 也许不公开?
我该如何解决这个问题?
【问题讨论】:
-
老实说,我不喜欢你为此使用 XML 文件;您是否尝试过使用属性文件来执行此操作?
-
@Makoto 不,我没有我会尝试用属性文件来做。
-
你为什么不利用你的 POJO 和属性文件本身
标签: java spring spring-boot