Spring Boot - Bilinmesi Gereken Bazı Bilgiler
Gönderilme zamanı: 14 Ara 2022, 10:53
Buraya Spring Boot ile ilgili bilinmesi gereken bazı bilgileri rastladıkça ekleyeceğim.
- Oluşturduğumuz controller main sınıfımızın bulunduğu pakette değilse ana sınıfımızın başına aşağıdaki şekilde bir annotation eklenmelidir.
@ComponentScan("com.paket.ismi")
- Wildcard import'lar gereksiz alan kullanır. IntelliJ varsayılan ayarlarında 5 tane sınıftan sonrasını wildcard'a çeviriyor. Sadece kullandığımız paketleri import etmek için IntelliJ'de ayar değişikliği yapmamız gerekiyor.
https://stackoverflow.com/questions/334 ... rd-imports - Bir sıralama yapmak istediğimizde findAllByXXXXOrderByXXXX gibi bir formatta Repository içine metot yazabiliriz. Ancak findAll için order yapmak istediğimizde Repository içine bir metot yazmadan direkt çağırdığımız serviste aşağıdaki gibi bir kullanım yapabiliriz:
Kod: Tümünü seç
List<Scenario> scenarios = scenarioRepository.findAll(Sort.by("scenarioId"));
- Sorun: @Value annotation'u olan bir sınıfı bir servis içinde kullandığımızda @Value ile tanımlanan değişkenlerin null dönmesi
Çözüm:
@Value annotation'ını kullandığımız MobileCommunication isimli bir sınıfımız olsun. @Component olarak tanımlıyoruz.
Diğer servisten component haline getirdiğimiz sınıfı çağırıyoruz.Kod: Tümünü seç
@Component public class MobileCommunication { @Value("${some.variable}") private String someVariable; public MobileCommunication() { } public void doSomething(){ System.out.println(someVariable); } }
Kod: Tümünü seç
@Service public class MyService { private final MobileCommunication mobileCommunication; public MyService(MobileCommunication mobileCommunication) { this.mobileCommunication = mobileCommunication; } public void myMethod() { mobileCommunication.doSomething(); } }