当前位置: 首页 > >

Spring Boot 配置DataSource

发布时间:

目录
[TOC]


1. 使用Spring Boot默认数据源
1.1 引入POM依赖

在pom文件中直接依赖官方提供的spring-boot-start-jdbc模块或者spring-boot-start-data-jpa模块。



org.springframework.boot
spring-boot-starter-jdbc

1.2 数据库配置

Spring Boot支持.properties格式和.yml格式配置文件,根据个人*惯可以随意选择(笔者推荐yml格式,可读性更强)。在classpath路径下创建application.properties文件或者application.yml文件。两种类型配置分别如下


.yml配置文件

spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost/test
username: root
password: 123456

注意: .yml类型文件,属性名后面冒号和值之间必须有一个空格,如username: root是正确格式, 但是useranme:root格式就是错误的。


.properties文件配置

spring.datasource.url=jdbc:mysql://localhost/test
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

2. 使用其它第三方数据源

如果不想使用默认的tomcat-jdbc数据源,也可以根据需要选择其它性能优秀的数据源,如Druid、c3p0等等。本文中以Druid为例。


2.1 引入POM依赖


org.springframework.boot
spring-boot-starter-jdbc


org.apache.tomcat
tomcat-jdbc





com.alibaba
druid
1.0.29

2.2 数据库配置

属性配置跟1.2相同


2.3 定义数据源

@ComponentScan
@Configuration
public class ApplicationConfig {

@Autowired
private Environment env;

@Bean
public DataSource getDataSource() {
DruidDataSource dataSource = new DruidDataSource();
dataSource.setUrl(env.getProperty("spring.datasource.url"));
dataSource.setUsername(env.getProperty("spring.datasource.username"));
dataSource.setPassword(env.getProperty("spring.datasource.password"));
return dataSource;
}
}

或者也可以这样:


@ComponentScan
@Configuration
@ConfigurationProperties(prefix="spring.datasource")
public class ApplicationConfig {

private String url;
private String username;
private String password;

@Bean
public DataSource getDataSource() {
DruidDataSource dataSource = new DruidDataSource();
dataSource.setUrl(url);
dataSource.setUsername(username);// 用户名
dataSource.setPassword(password);// 密码
return dataSource;
}

public String getUrl() {
return url;
}

public void setUrl(String url) {
this.url = url;
}

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}
}



友情链接: