Spring boot externalizar propriedades / mensagens de configuração em anotações Java
Existe uma maneira de ler o texto do arquivo de propriedades externas na primavera sem usar o@Value
anotação. Ex: application.properties
var.foo="hello"
Eu posso injetá-lo em um feijão de primavera usando
@Value("${var.foo}") String value;
como uma variável de classe. Existe uma maneira de incluir essa propriedade sem usar o@Value
anotação. Algo como a validação do bean JSR.
@NotNull(message={custom.notnull})
e você externaliza esse valor da propriedade emValidationMessages.properties Arquivo.
Exemplo, se eu tiver uma classe de recurso (componente da web) e se precisar usar anotações do Swagger para documentá-las,
@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");
}
}
e o modelo
@ApiModel("user model")
public class User {
@ApiModelProperty(value = "This represents user id")
private String id;
private String firstName;
private String lastName;
...
}
Como você externaliza essa string / frases / mensagens para um arquivo de propriedades externo. Eu acho que isso se aplica a anotações gerais sobre Java e spring e não é específico para o Swagger. A razão pela qual especifiquei o Swagger é que, assim como a biblioteca Java de validação de hibernação, tem a opção de especificar essas mensagens em um arquivo externo ValidationMessages.properties e o Spring sabe por padrão buscá-lo (ou pode ser configurado).
O Swagger fornece essa opção? Caso contrário, como faço para configurar um?
O problema subjacente é que não quero desorganizar meu código / lógica com dados relacionados à documentação (metadados).