【发布时间】:2020-09-04 06:12:52
【问题描述】:
我在导入的 jar 文件中有一个同名的类。
@Configuration
@ConfigurationProperties(prefix = "queues")
public class QueueProperties {
String queuename;
String queuemanager;
//Rest code
}
jar 文件中也存在具有相同属性的相同类。
我在 jar bean 的配置文件中给出了 bean 定义。
@Bean
public com.jar.class.path getQueueProperties() {
return new com.jar.class.path.QueueProperties();
}
但是当应用程序启动时,它使用的是我的 bean 类的属性,而不是为 jar 类 bean 定义的属性。
属性值保存在 application.yml 文件中。
queue:
queueManager: 'queuemanager'
queuename: 'queuename'
jar:
class:
queue:
queueManager: 'queuemanager'
queuename: 'queuename'
我想将 yml 中定义的属性用于 jar 文件 bean。有没有办法解决这个问题?
【问题讨论】:
-
您不应将@Configuration 用作常规bean。它们是在 Spring 上下文初始化中较早创建的,您可能会遇到意外行为,例如 AOP 功能无法正常工作。
标签: java spring spring-boot