Ben*_*ldt 2 java spring spring-el
我使用嵌套接口来存储String常量:
public interface Constants{
interface level1 {
interface level2 {
String CONSTANT = "constant";
}
}
}
Run Code Online (Sandbox Code Playgroud)
我想将这些常量注入spring值字段,我试过:
<entry key="key" value="#{com.company.Constants.level1.level2.CONSTANT}"/>
<entry key="key" value="#{T(com.company.Constants.level1.level2).CONSTANT}"/>
Run Code Online (Sandbox Code Playgroud)
但它不起作用,正确的方法是什么?
编译代码时,Constants接口会编译为3个类文件:

那是因为在level1嵌套接口编译成类文件与名称Constants$level1和level2嵌套嵌套接口编译与名类文件Constants$level1$level2.
既然你知道如何引用第二个嵌套level2检索常量,如下所示:
<entry key="key" value="#{T(com.company.Constants$level1$level2).CONSTANT}"/>
Run Code Online (Sandbox Code Playgroud)