我正在构建一个模块来将数据保存到数据库中 . 完成模块后,我将把它变成一个常见的JAR,任何人都会调用静态方法 . 有一个参数,它的名称应用程序名称我不希望传递这个值我希望在将jar添加到任何spring启动应用程序之后获取此值动态,然后任何一个调用此静态方法检索名称应用程序动态,因此spring启动包含应用程序属性有值 spring.application.name 我想在我的模块中获取这个值是可行的吗?有可能获得这个 Value
我搜索并发现了这个实现:
@Value("${spring.application.name}")
private String appName;
我的课:
public class BackEnd {
@Value("${spring.application.name}")
static String applicationName;
private static void saveData(String messsage) {
DAO dao= new DAO()
dao.saveData(messsage,applicationName);
}
}
所以目前 applicationName
的值是 null
. 这是正确的实施吗?
2 回答
属性名称是正确的,并由少数Spring Boot项目使用 . 您需要自己定义此属性,因为Spring Boot默认值为docs的空值:
您可以使用通常的
application.yml
文件,例如好吧,属性名称是正确的,但您需要在application.properties或application.yml文件中定义该属性,如下所示 .
如果您正在使用application.properties文件定义属性,如下所示
如果您正在使用application.yml文件定义属性,如下所示