- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经配置了属性文件的加载,如下所示(Spring 3.1)
我的 spring-xml
<context:component-scan base-package="com.mypackage"/>
<context:property-placeholder location="file:///C:/temp/application.properties"/>
网络.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/my-spring-xml
</param-value>
</context-param>
应用程序属性
expirationOffset = 777
在我的 java 类中,我声明了如下属性:
private @Value("${expirationOffset}") String propertyValue;
由于某种原因,该值未被初始化。当我运行以下语句时:
System.out.println("VALUE - " + propertyValue);
输出总是
16:03:02,355 INFO [stdout] (http--127.0.0.1-8080-1) VALUE - ${expirationOffset}
我已经尝试将属性文件移动到 war 文件中,以尝试在它位于类路径中时访问它,但仍然是同样的问题。以下是我如何从类路径访问它。
<context:property-placeholder location="classpath:/conf/application.properties"/>
理想情况下,我希望将属性文件保留在 war 文件之外,因为我不想因为简单的属性更改而不得不重建 war 文件。
我错过了什么吗?
我从这个上下文中删除了 msm-spring.xml 初始化参数:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/my-spring-xml
</param-value>
</context-param>
并将其移动到 servlet 上下文,如下所示。
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>myservice</servlet-name>
<servlet-class>org.springframework.ws.transport.http.MessageDispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/my-spring-xml
</param-value>
</init-param>
</servlet>
上述更改似乎已修复,因为我现在获得了正确的值。我认为我最初的方式是将它放在应用程序上下文中,这意味着它将在整个应用程序/webapp 中可用。
在我上面列出的 3 个中的任何一个中使用 msm-spring 有什么区别?
最佳答案
这是根据您提供的信息的一些推测:
您可能没有 <context:property-placeholder..
在您的根 Web 应用程序上下文中 - 由 ContextLoaderListener 加载的上下文,而不是您可能将它放在 Web 上下文中(由 Dispatcher servlet 加载)。能否确认一下。
更新:根据评论,问题似乎是 <context:propert-placeholder..
在根 Web 应用程序上下文中定义,但在 Web 上下文的组件中被引用。
在这种情况下,修复方法是将 propertyplaceholder 移动到 Web 上下文(通过 MessageDispatcherServlet 定义)。
关于java - Spring - 使用属性占位符加载 war 文件或类路径之外但在文件系统中的属性文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11141193/
我的 DateTime 对象使用 DateTime.Now 分配了本地时间。我想知道一旦夏令时开始/结束,这个对象是否会给出正确的当前本地时间。或者我需要解决方法吗? 最佳答案 是的,DateTime
假设我需要“特定类别中可用的项目数量”与“所有项目的数量”的比率。请考虑这样的 MySQL 表: /* mysql> select * from Item; +----+------------+--
我有这张 table http://codepen.io/MetCastle/pen/lxceL我想使用 jQuery 根据 input type="number" 隐藏/显示列。表示整个列: Pro
想要制作一个看起来像这样的网格,其中 div/section 以百分比表示。 margin 在任何地方都是一样的。 http://www.ladda-upp.se/bilder/giefekcmgwm
这将返回 1(又名 TRUE) SELECT DATE_SUB(NOW(), INTERVAL 24*100 HOUR) = DATE_SUB(NOW(), INTERVAL 100 DAY); 10
我一直在尝试在 UIScrollView 中获取 UIView 的转换后的 CGRect。如果我不放大它就可以正常工作,但是一旦我放大,新的 CGRect 就会发生变化。这是让我接近的代码: CGFl
对于家庭作业,我需要在不使用内置模 (%) 运算符的情况下返回 num1 除以 num2 后的余数。我能够通过以下代码让大多数测试通过,但我仍然坚持如何解释给定数字的 -/+ 符号。我需要保留 num
我用 Javascript 创建了一个倒数计时器;它是成功的,期望未完成。事实上,从数学上讲,它是正确的,但是谷歌浏览器的浏览器设置“暂停”(因为没有更好的术语)SetInterval/Timeout
我有两个 的,每个都设置为其容器宽度的 45%。有没有办法使 居中?使得它们在容器的左右两侧有相同的空间,并且它们之间也有空间。 一开始我只是做了每个 50% 并且有 padding: 0px 2
我是一名优秀的程序员,十分优秀!