Tôi cũng tìm thấy một giải pháp khác phù hợp với tôi. Trong dự án mùa xuân kế thừa của chúng tôi, chúng tôi sử dụng phương pháp này để cung cấp cho người dùng khả năng sử dụng các cấu hình riêng này:
<bean id="appUserProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="ignoreResourceNotFound" value="false"/>
<property name="locations">
<list>
<value>file:./conf/user.properties</value>
</list>
</property>
</bean>
Và trong mã của chúng tôi để truy cập thuộc tính này cần viết một cái gì đó như thế:
@Value("#{appUserProperties.userProperty}")
private String userProperty
Và nếu một tình huống phát sinh khi bạn cần thêm thuộc tính mới nhưng ngay bây giờ bạn không muốn thêm thuộc tính đó trong cấu hình người dùng sản xuất thì rất nhanh chóng trở thành địa ngục khi bạn cần vá tất cả các ngữ cảnh thử nghiệm của mình hoặc ứng dụng của bạn sẽ bị lỗi. khởi động.
Để xử lý sự cố này, bạn có thể sử dụng cú pháp tiếp theo để thêm giá trị mặc định:
@Value("#{appUserProperties.get('userProperty')?:'default value'}")
private String userProperty
Đó là một khám phá thực sự đối với tôi.
18GerPD8fY4iTbNpC9hHNXNHyrDMampPLA
là gì không? Tôi chắc chắn rằng tất cả mọi người khác biết và tôi chỉ là ngu ngốc, nhưng chỉ trong trường hợp ...