如何解决春季启动:特定于Bean创建配置文件
我正在使用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,因此应用程序无法启动。
谢谢。
解决方法
在发现的笔记中
,使用不同的Java方法名称指向相同的bean名称
您必须为该应用程序激活配置文件。您可以将运行时参数作为 -Djava.profiles.active = dev 传递。它将解决您的问题。 另外,需要创建特定于环境的属性文件,例如 application- {env} .properties
,我认为问题是相同的方法名称。由于某种原因,如果我使用相同的名称(方法重载),则会遇到问题。找到了一个类似的线程来解释相同的内容。
非常感谢所有尝试解决此问题的人。
注意:我将尝试找到该线程,并在此处更新该线程,以解释相同的内容。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。