无法加载找不到的JDBC模板

时间:2018-06-27 19:02:32

标签: spring-boot spring-jdbc

在我的SpringBoot应用程序中,我有一个服务定义为:

@Service
public class JdbcService {

    @Autowired
    JdbcTemplate jdbcTemplate;

    @Autowired
    public DataSource myDatabase;

    public void run() {
        System.out.println(">>run()");
        jdbcTemplate.setDataSource(stagingDatabase);
        jdbcTemplate.execute("INSERT SAMPLETABLE1 (STRING1, STRING2) VALUES ('TEST1', 'TEST2)");
        System.out.println("<<run()");
    }
}

我得到:

Description:

Field jdbcTemplate in com.myproject.services.JdbcService required a bean of type 'org.springframework.jdbc.core.JdbcTemplate' that could not be found.


Action:

Consider defining a bean of type 'org.springframework.jdbc.core.JdbcTemplate' in your configuration.

当我添加@ComponentScan(basePackages="com.myproject")时 到这个包中定义的SpringBootApplication中,我也得到了它。

build.gradle包括:

compile("org.springframework.boot:spring-boot-starter-jdbc")

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我必须将其定义为Bean。我还对其进行了重命名,以使其更加清晰。

@Configuration
public class DatasourceConfiguration {

    @Bean
    JdbcTemplate dwJdbcTemplate() {
            JdbcTemplate dwDatasource = new JdbcTemplate(dwDatasource());
            return dwDatasource;
    }
}