Spring如何将我的外部文件的值注入@Qualifier

时间:2017-11-27 13:46:07

标签: java spring dependency-injection configuration-files qualifiers

我有一个问题,我的配置文件的值注入@Qualifier

这是我的情况: 我有一个接口IDaoMedico,我有2个类实现这个接口 DaoMedicoMySql和DaoMedicoFile

在我的客户端类中,我想声明一个接口IDaomedico来使用它,使用@Autowired和@Qualifier,我选择了这个接口的真实类型。 问题是我不想在代码中写这个,我不想这样做

@Autowired @Qualifier("DaoMedicoMySql) IdaoMedico idaoMedico;

我想从配置文件中注入dao Medico的值。 我已经创建了一个配置文件,我已经添加了这个

DaoMedico=daoMedicoMySql

我可以将这个值放在带有@Values注释的String中,但如果我尝试这样做

@Value("${DaoMedico}")
private String valueDaoMedico;

@Autowired
@Qualifier(valueDaoMedico)

我有错误 “注释属性Qualifier.value的值必须是常量表达式

我怎么能解决这个问题?我如何在@Qualfier中注入我的属性文件的值?

1 个答案:

答案 0 :(得分:0)

检查此(How to dynamically inject a service using a runtime "qualifier" variable?)是否有动态限定符 但请确保您的组件在启动时实例化