Có một số cách để thay đổi cấu hình hoạt động, không có cách nào lấy trực tiếp từ tệp thuộc tính.
- Bạn có thể sử dụng
<init-param>
như bạn đang làm trong câu hỏi của mình.
- Bạn có thể cung cấp một số hệ thống tại ứng dụng khởi động
-Dspring.profiles.active="master"
- Bạn có thể lấy
ConfigurableEnvironment
từ ApplicationContext
của bạn và setActiveProfiles(String...)
lập trình với context.getEnvironment().setActiveProfiles("container");
Bạn có thể sử dụng một ApplicationListener
để nghe khởi ngữ cảnh. Giải thích về cách thực hiện điều đó here. Bạn có thể sử dụng một ContextStartedEvent
ContextStartedEvent event = ...; // from method argument
ConfigurableEnvironment env = (ConfigurableEnvironment) event.getApplicationContext().getEnvironment();
env.setActiveProfiles("master");
Bạn có thể nhận được giá trị "master"
từ một thuộc tính tập tin như bạn thấy phù hợp.
Nguồn
2013-09-04 13:39:13
Vấn đề là được sử dụng trong Spring MVC mà tôi không sử dụng. Tương đương với trong lõi lò xo là gì? –
luksmir
@luksmir Không có tương đương. Nếu bạn kiểm soát việc tạo ngữ cảnh, chỉ cần sử dụng phương thức thứ ba và 'setActiveProfiles()'. –
Cảm ơn lời giải thích không có thay thế cho setActiveProfiles() trong trường hợp của tôi. – luksmir