我有一个资格赛,我从中读取
public class TestController{
@Autowired
@Qualifier("jdbc")
private JdbcTemplate jtm;
//.....
}
Run Code Online (Sandbox Code Playgroud)
限定符"jdbc"是定义为的bean
@Bean(name = "jdbc")
@Autowired
public JdbcTemplate masterJdbcTemplate(@Qualifier("prod") DataSource prod) {
return new JdbcTemplate(prod);
}
Run Code Online (Sandbox Code Playgroud)
这是返回该限定符的数据源并且工作正常.
现在我想要从application.properties中读取限定符名称.所以我将代码更改为
public class TestController{
@Autowired
@Qualifier("${database.connector.name}")
private JdbcTemplate jtm;
//.....
}
Run Code Online (Sandbox Code Playgroud)
在那里database.connector.name=jdbc,我application.properties.
但是,当我这样做时,会抛出一个错误
应用程序未能启动
描述:
main.java.rest.TestController中的字段userService需要一个无法找到的类型为'org.springframework.jdbc.core.JdbcTemplate'的bean.
行动:
考虑在配置中定义类型为'org.springframework.jdbc.core.JdbcTemplate'的bean.
任何帮助表示赞赏.