Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何访问';spring.application.name';当在bootstrap.properties中定义时?_Java_Spring_Spring Boot_Dependency Injection - Fatal编程技术网

Java 如何访问';spring.application.name';当在bootstrap.properties中定义时?

Java 如何访问';spring.application.name';当在bootstrap.properties中定义时?,java,spring,spring-boot,dependency-injection,Java,Spring,Spring Boot,Dependency Injection,我有下面的spring boot 1.4.2.0发布示例应用程序 @SpringBootApplication public class Application { @Value("${spring.application.name}") private String applicationName; public static void main(String[] args) { SpringApplication.run(Application.c

我有下面的spring boot 1.4.2.0发布示例应用程序

@SpringBootApplication
public class Application {

    @Value("${spring.application.name}")
    private String applicationName;

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
我在bootstrap.properties中定义了以下配置:

spring.application.name=sample-app
当运行它时,我得到以下错误:

java.lang.IllegalArgumentException: Could not resolve placeholder 'spring.application.name' in string value "${spring.application.name}"
有没有关于它为什么无法注入“spring.application.name”的提示?
需要在那里定义它以支持其他spring引导云

默认情况下,如果未指定任何属性源,spring boot将在文件
application.properties
中查找您的属性。因此,您应该将属性文件重命名为该默认名称,或者手动为引导指定属性源。属性第一个答案是正确的。默认属性文件是application.properties或application.yml

该引导文件适用于SpringCloud

如果您正在使用SpringCloud,而引导文件不工作,则需要启用“cloud”spring概要文件

例如,使用:

./gradlew -Dspring.profiles.active=cloud bootrun 


此应用程序中存在其他错误。如果您将它放在
bootstrap.properties
中,并且您确实有效地使用了SpringCloud,那么它将可用。我的猜测是,
bootstrap.properties
在你的应用中被完全忽略了。也许你有云DEP,但你没有使用它?是的,你是对的。我本来打算使用SpringCloud,但在阅读了您的评论后,我意识到我还没有使用它!谢谢
./mvnw spring-boot:run -Dspring.profiles.active=cloud