2011-11-28 39 views
6

Để giảm thời gian khởi động máy chủ trong sự phát triển, tôi muốn thay đổi hành vi mặc định của Spring để khởi tạo lười biếng các bean.Khởi động lười biếng trong môi trường phát triển

Tôi biết điều này có thể được thực hiện bằng cách chỉ định default-lazy-init="true" ở cấp độ đậu. Tuy nhiên, tôi sẽ không muốn thay đổi thuộc tính này mỗi khi tôi nhận được các tệp cấu hình mới nhất từ ​​SCM và thay đổi lại sau khi kiểm tra lại.

Có cách nào khác để ngoại vi hóa thuộc tính này không? Giống như chỉ định thuộc tính Hệ thống?

Tôi cũng đã cố xác định thuộc tính trong tệp thuộc tính môi trường cụ thể và tham chiếu thuộc tính trong phần tử bean, nhưng nó không hoạt động.

default-lazy-init="${default-lazy-init-value}" 

Bất kỳ cách nào khác có thể đạt được dễ dàng?

Trả lời

3

Làm thế nào về việc dùng default-lazy-init trong một thuộc tính bên ngoài nộp và đi qua nó để định nghĩa bean

XML

<bean id="propertyPlaceholderConfigurer" 
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
    <property name="locations"> 
    <list> 
     <value>classpath:system-env.properties</value> 
    </list> 
    </property> 
</bean> 

<bean id="bean1" class="com.Foo" lazy="${default-lazy-init}"/> 

Thuộc tính tập tin (system-env.properties)

#set true in dev (if needed) 
default-lazy-init=true 
+0

này sẽ làm việc. Tuy nhiên điều này sẽ yêu cầu tôi đặt thuộc tính lười biếng cho tất cả các hạt đậu của tôi. Tôi hy vọng có một cách dễ dàng hơn. – PrasadB

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