Có cách nào để đọc văn bản từ tập tin thuộc tính bên ngoài vào mùa xuân mà không sử dụng chú thích @Value
. Ex: application.propertiesSpring boot externalize cấu hình thuộc tính/tin nhắn trên chú thích Java
var.foo="hello"
tôi có thể tiêm nó trong một đậu mùa xuân sử dụng
@Value("${var.foo}") String value;
như là một biến lớp. Có cách nào để bao gồm thuộc tính này mà không sử dụng chú thích @Value
hay không. Một cái gì đó giống như cách xác thực đậu JSR.
@NotNull(message={custom.notnull})
và bạn ra bên ngoài giá trị tài sản này trong ValidationMessages.properties tập tin.
Ví dụ, nếu tôi có một nguồn tài nguyên (thành phần web) lớp, và nếu tôi phải sử dụng chú thích Swagger tìm hiểu về chúng,
@controller
@path("/")
@Api(description = "User Resource API")
public class UserResource {
@Path("/users")
@GET
@Produces(MediaType.APPLICATION_JSON)
@ApiOperation(value = "returns user details", notes = "some notes")
public User getUser() {
return new User(123, "Joe", "Montana");
}
}
và mô hình,
@ApiModel("user model")
public class User {
@ApiModelProperty(value = "This represents user id")
private String id;
private String firstName;
private String lastName;
...
}
Làm thế nào để bạn bên ngoài chuỗi/câu/thư này thành tệp thuộc tính bên ngoài. Tôi nghĩ rằng điều này áp dụng cho chú thích Java chung và mùa xuân và không cụ thể cho Swagger. Lý do tôi chỉ định Swagger là, nếu giống như thư viện Java xác thực hibernate có tùy chọn chỉ định các thông báo này trong một tệp ValidationMessages.properties bên ngoài và mùa xuân biết theo mặc định để chọn nó lên (hoặc có thể được cấu hình).
Swagger có cung cấp tùy chọn như vậy không? Nếu không, tôi làm cách nào để thiết lập?
Vấn đề bên dưới là, tôi không muốn làm lộn xộn mã/logic của mình với dữ liệu liên quan đến tài liệu (dữ liệu meta).
Bạn cần cung cấp thêm chi tiết về trường hợp sử dụng của bạn là lý do bạn không thể hoặc không muốn sử dụng chú thích '@ Value'. Có một khu vực khác của Spring xung quanh hỗ trợ i18n sử dụng messages.properties để cho phép các khu vực nhất định sử dụng thay thế mã thông báo bằng văn bản cụ thể của ngôn ngữ. –
hi @shawn .. cảm ơn phản hồi của bạn. hãy để tôi chỉnh sửa câu hỏi này – Bharath