我正在使用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是 没有为任何配置文件创建。关于如何实现这一目标的任何建议都会有所帮助。
更新:由于服务类之一依赖于我要创建的bean,因此应用程序无法启动。
谢谢。
答案 0 :(得分:1)
在发现的笔记中
使用不同的Java方法名称指向相同的bean名称
答案 1 :(得分:0)
您必须为该应用程序激活配置文件。您可以将运行时参数作为 -Djava.profiles.active = dev 传递。它将解决您的问题。 另外,需要创建特定于环境的属性文件,例如 application- {env} .properties
答案 2 :(得分:-1)
我认为问题是相同的方法名称。由于某种原因,如果我使用相同的名称(方法重载),则会遇到问题。找到了一个类似的线程来解释相同的内容。
非常感谢所有尝试解决此问题的人。
注意:我将尝试找到该线程,并在此处更新该线程,以解释相同的内容。