spring boot MySQL数据源连接

时间:2016-06-02 17:25:56

标签: spring spring-boot spring-batch

我在连接MYSQL数据库时遇到问题。

这是我的application.properties

MySQL Database

spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://dataurl.com:3306/
spring.datasource.username=usename
spring.datasource.password=paswd

它正在使用不同的应用程序但不是这个。 我在POM中排除了hsql这里是片段

    <dependency>
        >>><groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-batch</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.hsqldb</groupId>
                <artifactId>hsqldb</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.34</version>
    </dependency>
</dependencies>

但是得到了这个错误: 在上下文初始化期间遇到异常 - 取消刷新尝试:org.springframework.beans.factory.BeanCreationException:创建名称为&#39; batchConfiguration&#39;的注册自动连接依赖项失败;嵌套异常是org.springframework.beans.factory.BeanCreationException:无法自动装配字段:public javax.sql.DataSource main.java.com.fileuploadutility.configurator.BatchConfiguration.dataSource;嵌套异常是org.springframework.beans.factory.NoSuchBeanDefinitionException:没有为依赖项找到类型为[javax.sql.DataSource]的限定bean:期望至少有一个bean可以作为此依赖项的autowire候选者。依赖注释:{@ org.springframework.beans.factory.annotation.Autowired(required = true)} 2016-06-02 13:00:25.417 INFO 7776 --- [main] o.apache.catalina.core.StandardService:停止服务Tomcat 2016-06-02 13:00:25.426 WARN 7776 --- [ost-startStop-1] oacloader.WebappClassLoaderBase:Web应用程序[ROOT]似乎已启动一个名为[Abandoned connection cleanup thread]的线程,但未能停下来。这很可能造成内存泄漏。堆栈跟踪线程:  java.lang.Object.wait(Native Method)

为了尝试不同,我添加了

public class DataSourceConfiguration { 
@Bean(name = "mysqlDS") 

@ConfigurationProperties(prefix = "spring.mysql.ds")
public DataSource mysqlDS() {
    return DataSourceBuilder.create().build();
}

@Autowired
@Qualifier("mysqlDS")
public DataSource dataSource;

但错误相同

1 个答案:

答案 0 :(得分:0)

我发现问题是由于日食maven冲突造成的。 Maven没有创建资源文件夹。在reaserch发现eclipse中的资源文件夹可以“链接”到src文件夹,并且错误消失了,因为它获取了属性文件。