获取应用程序名称Spring启动

时间:2018-04-13 21:08:03

标签: spring spring-boot

我正在构建一个模块来将数据保存到数据库中。完成模块后,我将把它变成一个常见的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。这是正确的实施吗?

2 个答案:

答案 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