Ral*_*lph 7 java spring spring-mvc spring-security spring-el
Spring EL支持一些预定义的变量
{#systemProperties. ... }{#systemEnvironment. ... }{#request. ...}{#session. ...}前两篇文章记录在Spring Reference:第6章Spring表达语言(SpEL)中.在Spring Reference中没有提到另外两个(或者我没有找到它们.)(我在这张幻灯片中找到了它们,以及它在spring social和this question中的用法).
所以我的问题是:是否有一个或多或少完整的预定义spring-el变量列表?
我想这些预定义变量中的一些并不是由spring core本身定义的,而是通过"激活"某些模块(如spring-mvc)来定义的.所以我对一个或多或少常见的spring + jpa + mvc +安全应用程序中可用的变量感兴趣.
我还注意到environment解析为当前org.springframework.core.env.Environment实例.我不确定这是一个记录的功能,但我正在寻找一种简洁的方法在我的@Configuration课程中执行以下操作:
@Value("#{environment.acceptsProfiles('test')}")
private boolean test;
Run Code Online (Sandbox Code Playgroud)
然后,这允许我在进一步的bean定义中关闭此值.
我已提交以下JIRA来解决此问题:
https://jira.springsource.org/browse/SPR-9037
我无法回答你的根本问题,但我可能会给你一个提示.
在启动应用程序上下文时会注册一些预定义的bean,但这取决于您使用的上下文类型.
通常,systemProperties并且systemEnvironment存在.在Web应用程序中加载弹簧,你也将获得servletContext,contextParameters和contextAttributes.我假设,request并且session也与Web应用程序上下文相关.
我在调试使用Spring 3.0.6RELEASE的应用程序时发现了这一点.一个很好的起点是SpringBeanELResolver.getValue()方法.
| 归档时间: |
|
| 查看次数: |
5212 次 |
| 最近记录: |