我正在构建一个模块来将数据保存到数据库中。完成模块后,我将把它变成一个常见的JAR,任何人都会调用静态方法。有一个参数,它的名称应用程序名称我不希望传递这个值我希望在将jar添加到任何spring启动应用程序之后获取此值动态,然后任何一个调用此静态方法检索名称应用程序动态,因此spring启动包含应用程序属性有值 spring.application.name 我想在我的模块中获取这个值是可行的吗?有可能获得这个值
我搜索并找到了这个实现:
@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
。这是正确的实施吗?
答案 0 :(得分:0)
属性名称正确并由少数Spring Boot项目使用。您需要自己定义此属性,因为Spring Boot默认值是docs的空值:
#IDENTITY(ContextIdApplicationContextInitializer)
spring.application.name = #Application name。
您可以使用通常的application.yml
文件,例如
spring:
application:
name: MyApp
答案 1 :(得分:0)
嗯,属性名称是正确的,但您需要在application.properties或application.yml文件中定义该属性,如下所示。
如果您正在使用application.properties文件定义属性,如下所示
spring.application.name= # your application name
如果您正在使用application.yml文件定义属性,如下所示
spring:
application:
name: # your application name