我正在尝试使用spring boot框架进行服务。
所以现在我准备好了服务,我想为我的服务编写一个bean。但是我这样做的方式是给我一个属性必须是常数的错误。有没有办法根据需要编写bean来生成服务?
配置文件如下所示:
@Configuration
public class ServiceConfig {
static DataSource.Type dst = ...;
static ItemSource.Type ist = ...;
@Bean
public ServiceEngine getServiceEngine (
@DataSource( dst ) RuleStore < SKURule > rs,
@ItemSource( ist ) SKUStore ss
) {
return new ServiceEngine( rs, ss );
}
@Target({ElementType.FIELD,
ElementType.METHOD,
ElementType.TYPE,
ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@Qualifier
public @interface ItemSource {
Type value();
enum Type {
LOCAL,
API,
}
}
@Target({ElementType.FIELD,
ElementType.METHOD,
ElementType.TYPE,
ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@Qualifier
public @interface DataSource {
Type value();
enum Type {
LOCAL,
S3,
}
}
...
// other beans
...
}