Tôi thực sự mới đến mùa xuân. Tôi sử dụng tính năng cấu hình bên ngoài được cung cấp bởi khởi động mùa xuân. Nó hoạt động tốt và tôi đã sử dụng nó trong một số lớp cấu hình, thường chỉ với các giá trị mặc định. Bây giờ tôi muốn có cái nhìn tổng quan về các thuộc tính cấu hình mà tôi đã sử dụng. Điều đó có nghĩa là tôi cần biết tất cả các thuộc tính được đặt với @Value(...)
hoặc hoặc với @ConfigurationProperties(prefix = ...)
. Có cách nào để lấy thông tin này từ Spring không? Tôi có thể làm điều này với sự phản xạ nhưng tôi nghĩ đây không phải là cách tốt nhất.Có cách nào để lấy tên của tất cả các thuộc tính cấu hình trong Spring boot không?
Trả lời
Nếu bạn đang sử dụng STS thì có trình chỉnh sửa đặc biệt cho tệp ứng dụng.properties có tính năng tự động hoàn thành. Nếu bạn đang sử dụng Eclipse, bạn phải vào lớp mà bạn muốn cấu hình và kiểm tra các chú thích @Value trong mã.
Cảm ơn, nhưng điều này không giải quyết được vấn đề của tôi. Tôi muốn có thể mở rộng chương trình bằng myselve hoặc cung cấp cho các nhà phát triển khác, những người mở rộng nó mà không cần viết mọi mục nhập cấu hình bằng tay đến tệp thuộc tính. Vì vậy, tôi đã hy vọng, rằng nó sẽ có thể viết toàn bộ cấu hình bao gồm các giá trị mặc định vào một tập tin thuộc tính mới sau khi chương trình đã bắt đầu. Bằng cách sử dụng trình soạn thảo STS, tôi vẫn cần ghi lại cấu hình bằng tay khi biết tất cả các thuộc tính cấu hình. – Chris
Bạn có thể tạo tệp có tên META-INF/bổ sung-spring-configuration-metadata.json và thêm nội dung như sau: {"properties": [{ "name": "my.att", "type" : "java.lang.String", "description": "Một mô tả cho 'my.att" }]} Trong bạn application.properties bạn có thể thêm: my.att = 20 Sử dụng STS , tính năng tự động điền sẽ có sẵn với mô tả được cung cấp trong tệp siêu dữ liệu. Thông tin thêm tại đây: https://docs.spring.io/spring-boot/docs/current/reference/html/configuration-metadata.html – Sigrist
Đó là cách có thể cho các nhà phát triển chương trình. Nhưng điều tôi muốn là cho phép người dùng của chương trình (không có trình chỉnh sửa đặc biệt) tạo lại cấu hình mặc định (ví dụ: trong trường hợp cấu hình hiện tại bị hỏng) chỉ bằng cách xóa tệp cấu hình và khởi động lại chương trình. Vì vậy, tôi cần phải biết liệu có một lớp tôi có thể ghi đè lên và nhận được các thông tin cần thiết để tạo ra một tập tin cấu hình mặc định. – Chris
- 1. Hibernate Envers với Spring Boot - cấu hình
- 2. Có cách nào để có được tất cả các thuộc tính của DOMElement không?
- 3. Spring Boot/JUnit, chạy tất cả các bài kiểm tra đơn vị cho nhiều cấu hình
- 4. Tôi có thể xác định Thuộc tính Hệ thống trong các tệp cấu hình Spring Boot không?
- 5. Cách cấu hình Jetty trong spring-boot (dễ dàng?)
- 6. Tắt cấu hình Spring JMS Auto trong Spring Boot Application
- 7. Cấu hình Spring-Boot & Spring-Security
- 8. Cách lấy EntityGraph động trong Spring Boot
- 9. Cấu hình Spring Java: nhập các thuộc tính tệp
- 10. Spring boot externalize cấu hình thuộc tính/tin nhắn trên chú thích Java
- 11. Làm cách nào để kích hoạt cấu hình Spring Boot khi chạy từ IntelliJ?
- 12. Cấu hình bảo mật với Spring-boot
- 13. spring-boot redis: Cách vô hiệu hóa tất cả các phiên của người dùng?
- 14. Làm cách nào để đặt tên thuộc tính của bean có phạm vi phiên Spring?
- 15. Xpath - Cách lấy tất cả tên thuộc tính và giá trị của một phần tử
- 16. Làm thế nào để cấu hình Jackson ObjectMapper cho Camel trong Spring Boot
- 17. Di chuyển ứng dụng mùa xuân hiện có sang spring-boot, cấu hình thủ công spring-boot?
- 18. Cách cấu hình CORS trong ứng dụng Spring Boot + Spring Security?
- 19. Lớp phản chiếu để lấy tất cả các thuộc tính của bất kỳ đối tượng nào
- 20. Có cách nào để chỉ định giá trị thuộc tính mặc định trong Spring XML không?
- 21. Làm cách nào để sử dụng tệp thuộc tính tùy chọn trong tệp cấu hình Spring?
- 22. Tích hợp đầy đủ các thuộc tính được mã hóa trong Spring 4/Boot
- 23. Làm thế nào để cấu hình toàn cục mẫu `@ DateTimeFormat` trong Spring Boot?
- 24. Lấy các mô hình Laravel với tất cả các thuộc tính
- 25. Làm cách nào để lặp qua tất cả các thuộc tính mô hình trên trang JSP của tôi?
- 26. Spring boot application.properties mở rộng một tệp thuộc tính khác
- 27. Cách thu thập và tiêm tất cả các hạt của một loại nhất định trong cấu hình Spring XML
- 28. Tìm tất cả các lớp có thuộc tính cụ thể
- 29. Đặt/ghi đè thuộc tính Spring/Spring Boot tại thời điểm chạy
- 30. Làm thế nào để cấu hình Spring Boot với elasticsearch 5.2.1?
Chức năng truyền động trong khởi động mùa xuân sẽ hiển thị chúng dưới dạng một trong các điểm cuối, vì vậy bạn có thể xem nguồn và xem chúng đang hoạt động như thế nào. – cjstehno
Ok, cảm ơn. Tôi đã sử dụng điểm cuối [configprops] (https://github.com/spring-projects/spring-boot/blob/10012cfddc5479ee9a5cbe98bfe4f76483965bd1/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/ ConfigurationPropertiesReportEndpoint.java) để kiểm tra nó, nhưng nó chỉ hoạt động cho các thành viên public được cấu hình bởi '@ConfigurationProperties (prefix = ...)'. – Chris
Bạn có thể thử điểm cuối của thiết bị truyền động Spring của bên thứ ba để hiển thị các thuộc tính và siêu dữ liệu cấu hình Spring của chúng. Tùy chọn lọc/bao gồm/loại trừ: https://github.com/ethlo/spring-actuator-addons/tree/master/spring-actuator-config –