我在连接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;
但错误相同
答案 0 :(得分:0)
我发现问题是由于日食maven冲突造成的。 Maven没有创建资源文件夹。在reaserch发现eclipse中的资源文件夹可以“链接”到src文件夹,并且错误消失了,因为它获取了属性文件。