Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在spring data@Query中使用属性_Spring_Spring Data Jpa - Fatal编程技术网

如何在spring data@Query中使用属性

如何在spring data@Query中使用属性,spring,spring-data-jpa,Spring,Spring Data Jpa,我无法将application.yml中的属性注入到spring data@Query 以下情况会导致EL1008E错误: public interface MyRepository extends JpaRepository<MyEntity, Long> { @Query("select e from MyEntity e where e.foo = :foo and e.env= ?#{env}") MyEntity findByFoo(@Param("foo"

我无法将application.yml中的属性注入到spring data@Query

以下情况会导致EL1008E错误:

public interface MyRepository extends JpaRepository<MyEntity, Long> {
    @Query("select e from MyEntity e where e.foo = :foo and e.env= ?#{env}")
    MyEntity findByFoo(@Param("foo") String foo);
}
据我所知,可以注入spring的principal的一个属性,这与我想做的没有太大区别


这方面有什么提示吗?

我真的应该停止问问题,在。。。这不是故意的

提到的博客包含了解决方案。添加以下内容:

public class PropertyEvaluationContextExtension extends EvaluationContextExtensionSupport {
    private final MyProps p;
    public PropertyEvaluationContextExtension(final MyProps p) {
        this.p= p;
    }
    @Override
    public String getExtensionId() {
        return "foo";
    }

    @Override
    public MyProps getRootObject() {
        return this.p;
    }
}
@Configuration
public class PropertyConfig {
    private final MyProps p;
    public PropertyConfig(final MyProps p) {
        this.p= p;
    }
    @Bean
    EvaluationContextExtensionSupport propertyExtension() {
        return new PropertyEvaluationContextExtension(p);
    }
}

现在,MyProps的每个属性都可以通过SpEL访问。

env对应于Spring的环境对象。。。因此,命名您的属性env是行不通的。不确定它是否相关,但据我所知,可以使用@Value${my.property}注入属性。env只是我真正实现中一个非常糟糕的占位符。您能提供MyProps代码和application.properties文件内容吗?