Spring Boot默認數據源

1. 使用Spring Boot默認數據源

http://blog.csdn.net/qq_35760213/article/details/73863252

1.1 引入POM依賴

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

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
  • 1
  • 2
  • 3
  • 4

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

注意: .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
  • 1
  • 2
  • 3
  • 4

2. 使用其它第三方數據源

如果不想使用默認的tomcat-jdbc數據源,也可以根據需要選擇其它性能優秀的數據源,如Druid、c3p0等等。本文中以Druid爲例。

2.1 引入POM依賴

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-jdbc</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<!-- 引入Druid依賴 -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.0.29</version>
</dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

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;
    }   
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

或者也可以這樣:

@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;
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章