首页 文章

获取应用程序名称Spring启动

提问于
浏览
1

我正在构建一个模块来将数据保存到数据库中 . 完成模块后,我将把它变成一个常见的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 回答

  • 0

    属性名称是正确的,并由少数Spring Boot项目使用 . 您需要自己定义此属性,因为Spring Boot默认值为docs的空值:

    #IDENTITY(ContextIdApplicationContextInitializer)spring.application.name =#应用程序名称 .

    您可以使用通常的 application.yml 文件,例如

    spring:
      application:
        name: MyApp
    
  • 0

    好吧,属性名称是正确的,但您需要在application.properties或application.yml文件中定义该属性,如下所示 .

    如果您正在使用application.properties文件定义属性,如下所示

    spring.application.name= # your application name
    

    如果您正在使用application.yml文件定义属性,如下所示

    spring:
        application:
            name: # your application name
    

相关问题