2010-09-28 19 views
17

Trường hợp sử dụng điển hình: Tôi đang có applicationContext.xmldispatcher-servlet.xml. Trong bối cảnh cha mẹ (applicationContext.xml) Tôi có:<context: property-placeholder> không thể truy cập vào ngữ cảnh con (web)

<context:property-placeholder location="classpath:application.properties" /> 

Tuy nhiên, các tính chất nạp bởi nó không thể truy cập đến bối cảnh web - không phải trong xml, và cũng không sử dụng @Value. (Họ chỉ là không được giải quyết và các biểu thức (${varName}) được thiết lập như giá trị thay vì)

tôi làm việc xung quanh nó bằng cách thêm <context:property-placeholder> để dispatcher-servlet.xml là tốt, nhưng tôi tự hỏi liệu:

  1. đây là hành vi
  2. Không có cách nào tốt hơn để hiển thị các thuộc tính cho ngữ cảnh con.

Trả lời

16

Vâng, đây là hành vi mong đợi. <context:property-placeholder> tạo một BeanFactoryPostProcessor được áp dụng theo từng ngữ cảnh. Vì vậy, bạn sẽ cần một bộ xử lý sau trong ngữ cảnh con.

Các vấn đề liên quan