gpt4 book ai didi

java - 如何获取@Pattern中属性文件的值

转载 作者:太空宇宙 更新时间:2023-11-04 12:26:40 24 4
gpt4 key购买 nike

域名:

@PropertySource(value = "classpath:valid.properties")
public class Role implements Serializable {

@Id
private String id;

@Pattern(regexp = "^[a-zA-Z0-9_]{6,32}$")
private String name;

有效属性:

username=^[a-zA-Z0-9_]{6,32}$
password=^[a-zA-Z]\w{5,17}$
email=^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$

正则表达式值是固定的

修改@Pattern:

 @Pattern(regexp = "${username}")  // compile Error
private String name;

**我想替换正则表达式值,请使用属性 **

怎么办?

最佳答案

不是来自外部属性,但是怎么样:

private static final String USERNAME = "^[a-zA-Z0-9_]{6,32}$";
private static final String PASSWORD = "^[a-zA-Z]\w{5,17}$";
private static final String EMAIL = "^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$";

@Pattern(regexp = USERNAME)
private String name;

...

在 Java EE 7 中,您可以注入(inject)如下属性值:

@Inject @ConfigurationValue(value="username")
private String userName;

但我不确定您是否可以像这样在另一个 JPA 注释中使用该字符串。试一试。有关使用 @ConfigurationValue 的详细信息,请参阅例如 What are Best Practice Recommendations for Java EE 7 Property File Configuration?

关于java - 如何获取@Pattern中属性文件的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38319786/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com