我有一个带有像这样的构造函数的类bean
public Test(final Integer c01,final List<Students>c02){this.c01 = c01;this.c02 = c02;return;}
学生来自另一个bean,它有一个方法负责从数据库中检索我有一个像这样的bean声明
<constructor-arg index="0" type="java.lang.Integer" value='13'/>
<constructor-arg index="1" type="java.util.List" value="#{myDAO.loadStudents(#{T(java.util.Arrays).asList(T(Constants).HOLIDAY,T(Constants).OUT_OF_OFFICE,T(Constants).SICK_LEAVE)})}"/>
该方法有这样的签名
public List<Student>loadStudents(final List<String>filters){}
我将尝试解释我需要用一个List来填充构造函数的2索引,我需要从另一个bean中检索DB,这个bean传递一个List,我有一个静态的常量,当然这可能是只使用这个签名Java
轻松解决new Test(13,Arrays.asList(Constants.HOLIDAY,Constants.OUT_OF_OFFICE,Constant.SICK_LEAVE));
但是当我有我的XML Spring配置文件时,会抛出类似
的错误Unexpected token. Expected 'identifier' but was 'lcurly({)'
这段代码有什么问题我使用spring
并不是很好 <constructor-arg index="1" type="java.util.List" value="#{myDAO.loadStudents(#{T(java.util.Arrays).asList(T(Constants).HOLIDAY,T(Constants).OUT_OF_OFFICE,T(Constants).SICK_LEAVE)})}"/>
答案 0 :(得分:1)
你的SpEL表达太复杂了:-) 我建议您使用Spring Java配置,并在纯Java代码中写出您要尝试做的事情。
顺便说一下,我对从Spring配置中读取数据库的建议存在疑虑(强烈)。但这不是问题所在,所以我会试着忽略它: - )