Vì vậy, tôi có một tập tin application.yml
cho các ứng dụng khởi động mùa xuân của tôi như vậy:mùa xuân ước Boot cho biến
spring:
url: localhost
email:
from: [email protected]
app:
uuid: 3848348j34jk2dne9
Tôi muốn dây các thuộc tính cấu hình thành các thành phần khác nhau trong ứng dụng của tôi như vậy:
@Component
public class FooA {
private final String url;
public FooA(@Value("${spring.url}") String url) {
this.url = url
}
}
@Component
public class FooB {
private final String from;
public FooA(@Value("${email.from}") String from) {
this.from = from
}
}
@Component
public class FooC {
private final String uuid;
public FooA(@Value("${app.uuid}") String uuid) {
this.uuid = uuid
}
}
Các tác phẩm trên như dự định trong đơn đăng ký của tôi. Nhưng câu hỏi của tôi là nếu đây là thực hành tốt nhất trong khởi động mùa xuân. Chỉ có một lựa chọn khác mà tôi biết là sử dụng đối tượng Properties
bằng cách tạo một bean bên trong một lớp cấu hình, nạp các thuộc tính với tất cả các biến cấu hình và tự động biến bean thuộc tính thành các thành phần.
Thực tiễn tốt nhất trong trường hợp này là gì?
Tôi không nghĩ rằng Richard đang cân nhắc việc sử dụng '@ConfigurationProperties'. Cách tôi đọc câu hỏi của anh ấy, anh ấy đang xem xét việc tạo và điền một bean bằng tay trong lớp '@Configuration' của mình. Vì vậy, '@ConfigurationProperties' sẽ là một cải tiến lớn.Ngoài ra, nếu bạn thêm bộ xử lý cấu hình khởi động mùa xuân, bạn có thể tạo siêu dữ liệu cấu hình cho các IDE, để tự động hoàn thành/xác nhận/tài liệu, điều này khá tuyệt! –