SpringBoot çoklu veri kaynağı değiştirme, önce yapılandırma dosyasını yükleyin:
1. Ana pom bağımlılıkları:
2.application.yml
3. yapılandırma
4. Veri kaynağı tutma
denetleyici:
Giriş sınıfı:
Gerçekleştirme fikrini açıklayın:
Springboot, veri kaynağını belirtmek için AbstractRoutingDataSource # determCurrentLookupKey soyut yöntemini sağlar Yapmamız gereken, veri kaynağını değiştirme mantığını uygulamak, veritabanını AOP aracılığıyla çağırmadan önce veri kaynağını değiştirmek;
Başlangıçta, en son kullanılan veri kaynağını kaydetmek için bir önbellek yapılmıştır. Bu sefer aynısı kullanılırsa, geçiş yapmaya gerek yoktur, ancak veri bağlantısını başlatmanın pahalı olduğu bulunmuştur. Veri kaynağını daha sonra değiştirmek, aslında hangi veritabanının kullanılacağını belirlemektir. Bu sadece bir bağlantı, daha fazla kaynak yok;
Aşağıdaki kod, veri kaynağını değiştirirken, karşılık gelen dataSource'un yalnızca anahtar aracılığıyla elde edildiğini ve ilgili dataSource'un ilk çağrıda bir kez başlatıldığını gösterir;