1. 程式人生 > >Spring Boot 配置DataSource

Spring Boot 配置DataSource

目錄
[TOC]

1. 使用Spring Boot預設資料來源

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 資料庫配置

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依賴

<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>

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;
    }
}

相關推薦

Spring Boot 配置DataSource

目錄 [TOC] 1. 使用Spring Boot預設資料來源 1.1 引入POM依賴 在pom檔案中直接依賴官方提供的spring-boot-start-jdbc模組或者spring-boot-start-data-jpa模組。 <

Spring Boot配置DataSource並整合Mybatis

1.引入POM依賴 <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-commons</artifact

Spring-boot 配置dataSource 可配多資料來源

第一種方式:有時好使有時不好使,原因不明!推薦使用第二種方式 import java.sql.SQLException; import javax.sql.DataSource; import org.slf4j.Logger; import org.slf4j.Logger

[轉] Spring Boot配置多個DataSource

pro img ssp 情況 每一個 所有 title 進行 rom [From] https://www.liaoxuefeng.com/article/001484212576147b1f07dc0ab9147a1a97662a0bd270c20000 Sprin

Spring Boot配置多個DataSource

使用Spring Boot時,預設情況下,配置DataSource非常容易。Spring Boot會自動為我們配置好一個DataSource。 如果在application.yml中指定了spring.datasource的相關配置,Spring Boot就會使用該配置

Spring Boot 配置文件詳解:Properties和YAML

列表 config 其他 操作系統 des num mat 變量 onf 一.配置文件的生效順序,會對值進行覆蓋: 1. @TestPropertySource 註解 2. 命令行參數 3. Java系統屬性(System.getProperties

spring boot 配置數據源

build -i autowired 1.0 emp aslist private ram apach 以postgreSQL為例,方便下次直接使用。 其中pom.xml引入如下依賴。 <?xml version="1.0" encoding="UTF-8"?>

Spring Boot配置文件規則以及使用方法官方文檔查找以及Spring項目的官方文檔查找方法

lan 屬於 tps pri ati html 查詢 為什麽 發現 比如要使用Spring Boot實現一個功能,最直接的方式是Google,但是往往搜索出來的都比較亂,關鍵是亂在不同的版本上,比如1.x版本和2.x版本的配置是不一樣的。最明顯區別是在使用Thymeleaf

Spring Boot參考教程(六)Spring Boot配置Servlet,Filter,Listener,Interceptor

cat http list err oot (六) water iter fontsize 4.2.5. Spring Boot配置Servlet,Filter,Listener,Interceptor 1. 配置Servlet 在開發中一些場景常會使用到servlet

Spring Boot參考教程(五)Spring Boot配置使用之配置類用法

expr web程序 成功 驗證 pan hub parameter lan fix 4.2. SpringBoot配置使用之配置類使用 Spring Boot的大部分自動配置都可以滿足應用要求,但如果想精確的控制應用,或者想覆蓋自動配置,使用配置類是另一種很好的選擇,強調

Spring Boot參考教程(四)Spring Boot配置使用之配置文件用法

point rop 推薦書 endpoint size int == 需要 相同 4.1 Spring Boot配置使用之配置文件用法 Spring Boot旨在簡化配置,但依然需要進行少量配置來滿足應用的特定需要。 配置方式拋棄了XML文件的配置方式,主要使用配置文件

Spring Boot 配置優先級順序

快速 cal yam evel configure 文件讀取 @value request 容器 一般在一個項目中,總是會有好多個環境。比如: 開發環境 -> 測試環境 -> 預發布環境 -> 生產環境 每個環境上的配置文件總是不一樣的,甚至開發環境中

【日常錯誤】spring-boot配置文件讀取不到

無法 pan factory sdn 一個 pre nco span xxx 最近在用spring-boot做項目時,遇到自定義的配置文件無法讀取到的問題,通過在appcation.java類上定義@PropertySource(value = {"classpath:XX

spring-boot配置文件使用

one rop boot 生產 參數 註解註入 環境 開發環境 ring 配置文件格式兩種application.properties和application.yml .yml配置的使用 1、使用@Value("${配置文件中的屬性名}")註解註入配置內容 2、在配置中引用

spring boot配置mybatis和事務管理

生成 很多 -s 順序 south 位置 ron 技術 username spring boot配置mybatis和事務管理 一、spring boot與mybatis的配置 1.首先,spring boot 配置mybatis需要的全部依賴如下: <!-- Spri

Spring Boot配置文件放在jar外部

最大 config文件 cati res 記事本 log classpath dev 不想 Spring Boot程序默認從application.properties或者application.yaml讀取配置,如何將配置信息外置,方便配置呢? 查詢官網,可以得到下面的幾

Spring Boot 配置swagger2沒有文檔解決方案

post and request oot quest swagger date sele ota @Bean public Docket customImplementation(){ return new Docket(Documentation

詳解Spring Boot配置文件之多環境配置

多個 提高效率 橫線 文件 style ica property form blog 一. 多環境配置的好處: 1.不同環境配置可以配置不同的參數~ 2.便於部署,提高效率,減少出錯~ 二. properties多環境配置 1. 配置激活選項 spring.profile

spring boot 配置swagger UI

require onf efault 字段 url http .cn imp selector springboot集成swaggerUI 有這樣的需求 1.在每個接口上都增加一個字段; 2.接口文檔只展示滿足一定條件URL的接口 配置文件 詳細看代碼 import or

spring boot配置service發布服務

too local can word oot servlet init except def 在application.yml中配置 server: port: 8080 context-path: /crm spring: datasource: d