[英]How do I carry out custom validation of non-String value with javax's ConstraintValidator?
[英]Springboot How can I inject a non-String value to a property?
我正在尝试将 Path object 注入属性。 但是,似乎我只能将 String 注入属性。 所以我尝试使用下面的代码来启动路径属性,但失败了。 谁能建议我怎么做?
@Service
public class FilesStorageServiceImpl implements FilesStorageService {
@Value("${upload.path}")
private String rootPath;
private Path root = Path.get(this.rootPath)
public void doSomething() {
Files.copy(....)
}
}
当我调试它时,它告诉我根是 null。 似乎没有启动根路径。
这取决于服务变量初始化的方式和时间。 轻松修复,通过设置器注入:
@Service
public class FilesStorageServiceImpl implements FilesStorageService {
private String rootPath;
private Path root;
@Value("${upload.path}")
public setRootPath(String rootPath) {
this.rootPath = rootPath;
root = Path.get(this.rootPath)
}
public void doSomething() {
Files.copy(....)
}
}
使用 setter 进行值注入,可以更好地控制root
变量的初始化。
注入整个object? 可能不是您想要的东西,因为不值得花精力弄清楚您将如何序列化、反序列化,然后注入 object。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.