Java Spring引导:bean创建配置文件特定
我正在开发一个spring boot应用程序。我使用的是spring boot版本:2.2.4-RELEASE 我正在尝试为一个概要文件创建一个特定的bean。但是该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”})
@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注入。。。