spring 启动 MySQL 数据源连接
spring boot MySQL datasource connection
我在连接到 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:创建名称为 'batchConfiguration' 的 bean 时出错:注入自动装配依赖项失败;嵌套异常是 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 用于依赖项:预计至少有 1 个 bean 有资格作为此依赖项的自动装配候选者。依赖注解:{@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] o.a.c.loader.WebappClassLoaderBase:Web 应用程序 [ROOT] 似乎启动了一个名为 [Abandoned connection cleanup thread] 的线程,但是未能阻止它。这很可能造成内存泄漏。线程堆栈跟踪:
java.lang.Object.wait(本机方法)
为了尝试不同的方式,我添加了
public class DataSourceConfiguration {
@Bean(name = "mysqlDS")
@ConfigurationProperties(prefix = "spring.mysql.ds")
public DataSource mysqlDS() {
return DataSourceBuilder.create().build();
}
和
@Autowired
@Qualifier("mysqlDS")
public DataSource dataSource;
但是得到同样的错误
我发现问题是由于eclipse maven 冲突引起的。 Maven 没有创建资源文件夹。经过研究发现,eclipse 中的资源文件夹可以“链接”到 src 文件夹,并且在获取属性文件后错误消失了。
我在连接到 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:创建名称为 'batchConfiguration' 的 bean 时出错:注入自动装配依赖项失败;嵌套异常是 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 用于依赖项:预计至少有 1 个 bean 有资格作为此依赖项的自动装配候选者。依赖注解:{@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] o.a.c.loader.WebappClassLoaderBase:Web 应用程序 [ROOT] 似乎启动了一个名为 [Abandoned connection cleanup thread] 的线程,但是未能阻止它。这很可能造成内存泄漏。线程堆栈跟踪: java.lang.Object.wait(本机方法)
为了尝试不同的方式,我添加了
public class DataSourceConfiguration {
@Bean(name = "mysqlDS")
@ConfigurationProperties(prefix = "spring.mysql.ds")
public DataSource mysqlDS() {
return DataSourceBuilder.create().build();
}
和
@Autowired
@Qualifier("mysqlDS")
public DataSource dataSource;
但是得到同样的错误
我发现问题是由于eclipse maven 冲突引起的。 Maven 没有创建资源文件夹。经过研究发现,eclipse 中的资源文件夹可以“链接”到 src 文件夹,并且在获取属性文件后错误消失了。