单数据库源配置
结论:首先我们从以下配置中可以看出springboot帮我们完成了以下配置
DataSourceAutoConfiguration
配置 DataSource
DataSourceTransactionManagerAutoConfiguration
配置 DataSourceTransactionManager
JdbcTemplateAutoConfiguration
配置 JdbcTemplate
数据源相关配置属性
通用
-
spring.datasource.url=jdbc:mysql:/localhost/test
-
spring.datasource.username=dbuser
-
spring.datasource.password=dbuser
-
spring.datasource.driver-class-name=com.mysql.jdbc.Driver(可选)
初始化内嵌数据库 -
spring.datasource.initialization-model=embedded|always|never
-
spring.datasource.schema与spring.datasource.data确定初始化SQL文件
-
spring.datasource.platform=hsqldb|h2|oracle|mysql|postgresql
符合条件时才进行配置
1.java配置Bean
package geektime.spring.data.datasourcedemo;
import org.apache.commons.dbcp2.BasicDataSourceFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Arrays;
import java.util.Properties;
/**
* @ClassName DataSourceDemo
* @Description TODO
* @Author lf
* @Date 2021/9/3 15:21
* @Version 1.0
**/
@Configuration
@EnableTransactionManagement
public class DataSourceDemo {
@Autowired
private DataSource dataSource;
public static void main(String[] args) throws SQLException {
ApplicationContext applicationContext =
new ClassPathXmlApplicationContext("applicationContext*.xml");
showBeans(applicationContext);
dataSourceDemo(applicationContext);
}
@Bean(destroyMethod = "close")
public DataSource dataSource()throws Exception{
Properties properties = new Properties();
properties.setProperty("driverClassName", "org.h2.Driver");
properties.setProperty(&