相关疑难解决方法(0)

如何在spring boot中从属性文件中读取限定符?

我有一个资格赛,我从中读取

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.

任何帮助表示赞赏.

java properties qualifiers spring-boot

8
推荐指数
2
解决办法
3884
查看次数

标签 统计

java ×1

properties ×1

qualifiers ×1

spring-boot ×1