如果应用程序中不存在,我想在bean创建上注册bean特定属性。例如
public class BeanOne {
@Value("${prop1}")
private String property1;
}
public class BeanTwo {
@Value("${prop2}")
private String property2;
}
我想注册属性'prop1'和'prop2'以成功实例化上述两个bean。
我的应用程序配置了spring-cloud-consul-config。默认情况下,consul在这段时间内未配置这些属性,应用程序将通过ecwid / consul-api自动将这些属性注册到领事
目前,应用程序抛出“IllegalArgumentException”,并在字符串值“$ {prop1}”中显示消息“无法解析占位符'prop1'”
任何建议都可以避免上述错误。
答案 0 :(得分:0)
有多种方法可以做到这一点。
我首选的方法是在外部设置一个或多个文件中的属性,然后在@中使用@PropertySource(" file:/// full-path-to-property-file")注释配置类。
这种方法与Spring Profiles相结合非常强大。
如果您没有使用配置文件,请执行以下示例:
我的course关于Spring Boot,AWS,Bootstrap和Stripe的示例:
@Configuration
@EnableJpaRepositories(basePackages = "com.devopsbuddy.backend.persistence.repositories")
@EntityScan(basePackages = "com.devopsbuddy.backend.persistence.domain.backend")
@EnableTransactionManagement
@PropertySource("file:///${user.home}/.devopsbuddy/application-common.properties")
public class ApplicationConfig {
}
那就是它!