我知道构造函数在自动连接变量之前正在调用。但是,不幸的是,我想读取构造函数内部的application.properties值吗?
@Component
public class DESedeEncryption {
private static final String key = "TEST_KEY";
public DESedeEncryption() {
system.out.println(key);
}
}
DESedeEncryption encrypted = new DESedeEncryption();
对于上面的类,该对象是通过在我的项目中使用总共108个位置的新运算符创建的。现在,我想从application.properties中读取该键值。但是,我需要使用@Autowired注解更改所有108个位置。但是,在某些情况下,使用“新”运算符编写的对象创建会放在实体类文件中。因此,我无法自动将对象连接到实体类中。
有人,请帮助我解决此问题。
解决方案如下:
您可以在带有@Value批注的构造函数中声明一个变量,在该变量中调用application.properties变量。
示例类:
public DESedeEncryption(@Value("${key}") final String key) {
system.out.println(key);
}