Giriş
DataSource nesnesi yaratmak için 2 tane yöntem var.
1. Kod içinde ismi dataSource olan bir bean yaratmak
2. application.properties dosyasına spring.datasource ile başlayan ayarları girmek ve Spring'in bir DataSource bean'i yaratmasını sağlamak.
Bu yazıda ikinci yöntem anlatılıyor. Eğer birinci yöntem kullanılırsa Spring auto configuration yapmaz. Açıklaması şöyle
application.properties dosyasına şifre ve diğer önemli şeyleri yazmak istemiyorsak Spring'e parametre olarak geçmek mümkün
1. JVM Parametreleri
Örnek
Şöyle yaparız.
Örnek
Şöyle yaparız.
Veri tabanı bağlantısı içindir. Bu başlık altında
url,username,password,driver-class-name,testWhileIdle,validationQuery
gibi değerler doldurulur.
continue-on-error Alanı
Açıklaması şöyle
Şöyle yaparız.
Hikari kullanıyorsak Hikari Ayarları yazısına taşıdım.
driver -class-name Alanı
Bu alan tamamen veri tabanına mahsus. Şu değerleri alabilir
DataSource nesnesi yaratmak için 2 tane yöntem var.
1. Kod içinde ismi dataSource olan bir bean yaratmak
2. application.properties dosyasına spring.datasource ile başlayan ayarları girmek ve Spring'in bir DataSource bean'i yaratmasını sağlamak.
Bu yazıda ikinci yöntem anlatılıyor. Eğer birinci yöntem kullanılırsa Spring auto configuration yapmaz. Açıklaması şöyle
GüvenlikIf you define your own DataSource bean, auto-configuration does not occur.
application.properties dosyasına şifre ve diğer önemli şeyleri yazmak istemiyorsak Spring'e parametre olarak geçmek mümkün
1. JVM Parametreleri
Örnek
Şöyle yaparız.
java -jar your-spring-boot-app.jar
-Dspring.datasource.url=jdbc:postgresql://localhost/database ...
2. Ortam DeğişkeniÖrnek
Şöyle yaparız.
export SPRING_DATASOURCE_URL="jdbc:postgresql://localhost/database"
3. spring.datasource AlanlarıVeri tabanı bağlantısı içindir. Bu başlık altında
url,username,password,driver-class-name,testWhileIdle,validationQuery
gibi değerler doldurulur.
continue-on-error Alanı
Açıklaması şöyle
By default, Spring Boot enables the fail-fast feature of the Spring JDBC initializer. This means that, if the scripts cause exceptions, the application fails to start. You can tune that behavior by setting spring.datasource.continue-on-error.Örnek
Şöyle yaparız.
spring.datasource.continue-on-error=true
initialization-mode Alanı
Şöyle yaparız.spring.datasource.url= jdbc:postgresql://localhost:5432/Crypto
spring.datasource.username=postgres
spring.datasource.password=wololo
spring.datasource.initialization-mode=always
ConnectionPool DeğerleriHikari kullanıyorsak Hikari Ayarları yazısına taşıdım.
driver -class-name Alanı
Bu alan tamamen veri tabanına mahsus. Şu değerleri alabilir
- org.h2.Driver
- com.mysql.jdbc.Driver
- oracle.jdbc.driver.OracleDriver
- org.postgresql.Driver
h2
H2 Ayarları yazısına taşıdım.
Mysql
- com.mysql.jdbc.Driver
- oracle.jdbc.driver.OracleDriver
- org.postgresql.Driver
h2
H2 Ayarları yazısına taşıdım.
Mysql
Mysql Ayarları yazısına taşıdım.
Tomcat
Tomcat Ayarları yazısına taşıdım.
Oracle
Oracle Ayarları yazısına taşıdım.
Oracle Ayarları yazısına taşıdım.
Tomcat Ayarları yazısına taşıdım.
passwordAlanı
Şifreyi açıktan yazmak istemiyorsak Jasypt (Java Simplified Encryption) kullanılabilir
testWhileIdle Alanı
Örnek
Şöyle yaparız
# ==============================================================# = Keep the connection alive if idle for a long time (needed in production)# ==============================================================spring.datasource.testWhileIdle = truespring.datasource.validationQuery = SELECT 1
Hiç yorum yok:
Yorum Gönder