Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.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引导:bean创建配置文件特定_Java_Spring_Spring Boot_Spring Bean_Spring Profiles - Fatal编程技术网

Java Spring引导:bean创建配置文件特定

Java Spring引导:bean创建配置文件特定,java,spring,spring-boot,spring-bean,spring-profiles,Java,Spring,Spring Boot,Spring Bean,Spring Profiles,我正在开发一个spring boot应用程序。我使用的是spring boot版本:2.2.4-RELEASE 我正在尝试为一个概要文件创建一个特定的bean。但是该bean没有按预期创建 下面是我的配置文件: @Configuration @Slf4j public class TestConfig { //below is the bean i need to be created for dev and test @Bean @Profile({“dev”, “test”})

我正在开发一个spring boot应用程序。我使用的是spring boot版本:2.2.4-RELEASE

我正在尝试为一个概要文件创建一个特定的bean。但是该bean没有按预期创建

下面是我的配置文件:

@Configuration
@Slf4j
public class TestConfig {

  //below is the bean i need to be created for dev and test
  @Bean
  @Profile({“dev”, “test”})
  TestObject getTestObject() {

        //do something
  }

//below is the bean i need to be created for staging and prod
  @Bean
  @Profile({“staging”, “prod”})
  TestObject getTestObject() {

        //do something
  }


//someother beans common for all profiles

}
Service.java

@Service
public class Serviceclass {

  @Autowired
   private TestObject testObj;

   //some methods

}
我试过上面的方法,但是豆子是 未为任何配置文件创建。任何关于如何实现这一目标的建议都会有所帮助

更新:应用程序无法启动,因为其中一个服务类依赖于我尝试创建的bean


提前感谢。

您必须为应用程序创建活动配置文件。您可以将运行时参数传递为-Djava.profiles.active=dev。它会解决你的问题。
另外,需要创建特定于环境的属性文件,如应用程序-{env}.properties

我认为问题在于方法名相同。出于某种原因,如果我使用相同的名称(方法重载),我们将遇到问题。找到了一条类似的线索,解释了同样的问题

非常感谢所有试图解决这个问题的人

注意:我将尝试查找该线程,并在此处更新该线程,这将解释相同的情况。

在中找到的注释中

使用指向相同bean名称的不同Java方法名称


没有为任何配置文件创建
bean是什么意思?您能显示一些输出或错误吗?@Deadpool应用程序无法启动,因为其中一个服务具有依赖关系。正在更新问题。您在哪里传递活动配置文件?您可以添加YAML文件和用于运行application@DeepakKumar从应用程序日志中,我可以看到以下内容:以下配置文件处于活动状态:dev@DeepakKumar当我试图创建一个不从属性文件中获取任何内容的bean时,应用程序yml是如何在这里发挥作用的?我已经从日志中看到活动配置文件是:devTry在TestObject中进行setter注入,而不是字段注入。。如果存在任何循环依赖项,则必须使用setter注入。。。