我正在开发一个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
}
服务.java
@Service
public class Serviceclass {
@Autowired
private TestObject testObj;
//some methods
}
我尝试了上面的方法,但是没有为任何概要文件创建bean。任何关于如何做到这一点的建议都会很有帮助。
更新:应用程序无法启动,因为其中一个服务类依赖于我尝试创建的bean。
提前谢谢。
3条答案
按热度按时间7ajki6be1#
在你的笔记里
https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/annotation/profile.html
使用指向相同bean名的不同java方法名
nr7wwzry2#
必须为应用程序创建活动配置文件。您可以将运行时参数传递为-djava.profiles.active=dev。它将解决您的问题。此外,还需要创建特定于环境的属性文件,如application-{env}.properties
8nuwlpux3#
我认为问题是相同的方法名。出于某种原因,如果我使用相同的名称(方法重载),我们就会遇到问题。找到了一个类似的线索来解释相同的问题。
非常感谢所有试图解决这个问题的人。
注意:我将试图找到线程,并将更新线程在这里解释相同的。