Spring Boot CLI Kurulumu ve HelloWorld Örneği
Spring Boot, günümüzün en popüler Java tabanlı uygulama geliştirme çerçevelerinden biridir. Geliştiricilerin hızlı, bağımsız ve üretime hazır Spring tabanlı uygulamalar oluşturmasını kolaylaştırmak için tasarlanmıştır. Geleneksel Spring uygulamalarının karmaşık yapılandırmalarını basitleştirerek, “convention over configuration” (yapılandırma yerine kural) prensibini benimser ve geliştiricilerin iş mantığına odaklanmasına olanak tanır. Spring Boot’un sunduğu bu kolaylıkların başında ise Spring Boot CLI (Command Line Interface) gelir. Bu makalede, Spring Boot CLI’nin ne olduğunu, nasıl kurulduğunu ve basit bir “HelloWorld” uygulamasının nasıl geliştirileceğini ayrıntılı bir şekilde inceleyeceğiz.
Spring Boot’a Giriş ve Spring Boot CLI’nin Önemi
Spring Boot, Spring ekosisteminin geliştirici verimliliğini artırmak amacıyla ortaya çıkardığı güçlü bir araç setidir. Gömülü sunucular (Tomcat, Jetty, Undertow), otomatik yapılandırma (auto-configuration) ve starter bağımlılıkları gibi özellikleriyle, geliştirme sürecini hızlandırır ve basitleştirir. Bir Spring Boot uygulaması, genellikle minimal yapılandırma ile çalışır ve kendi başına çalışabilen (self-contained) bir JAR dosyası olarak paketlenebilir. Bu sayede, uygulamaların dağıtımı ve çalıştırılması oldukça kolaylaşır.
Spring Boot CLI, bu kolaylıkları komut satırına taşıyan, Groovy betikleriyle hızlı prototipleme ve uygulama geliştirme imkanı sunan bir araçtır. Geliştiricilerin, bir IDE (Integrated Development Environment) açmaya veya karmaşık Maven/Gradle yapılandırmalarıyla uğraşmaya gerek kalmadan, tek bir komutla Spring Boot uygulamalarını çalıştırmasına olanak tanır. Özellikle küçük servisler, prototipler veya hızlı testler için idealdir. CLI, arka planda Spring Boot’un tüm gücünü kullanarak bağımlılıkları otomatik olarak çözer, kodu derler ve uygulamayı çalıştırır. Bu, geliştirme döngüsünü inanılmaz derecede hızlandırır.
Spring Boot CLI’nin temel avantajları şunlardır:
* Hızlı Prototipleme: Groovy’nin esnekliği sayesinde, çok az kodla tam işlevsel Spring Boot uygulamaları oluşturulabilir.
* Basitlik: Geleneksel Spring projelerinin gerektirdiği XML veya Java tabanlı yapılandırmaların çoğunu ortadan kaldırır.
* Otomatik Bağımlılık Yönetimi: CLI, Groovy betiğinizdeki sınıflara veya annotations’lara bakarak gerekli Spring Boot “starter” bağımlılıklarını otomatik olarak ekler. Örneğin, @RestController kullandığınızda spring-boot-starter-web otomatik olarak projenize dahil edilir.
* Gömülü Sunucu Desteği: Uygulamalar, ek bir yapılandırmaya gerek kalmadan gömülü Tomcat, Jetty veya Undertow sunucuları üzerinde çalışır.
* Geliştirme Süresini Kısaltma: IDE bağımlılığını azaltarak ve hızlı geri bildirim döngüleri sağlayarak geliştirme sürecini hızlandırır.
Ön Gereksinimler
Spring Boot CLI’yi kurmadan ve kullanmadan önce sisteminizde bazı temel gereksinimlerin karşılandığından emin olmanız gerekir.
Java Geliştirme Kiti (JDK)
Spring Boot CLI, Java tabanlı bir araç olduğu için sisteminizde kurulu bir Java Geliştirme Kiti (JDK) bulunması zorunludur. Spring Boot’un mevcut versiyonları genellikle Java 8 veya daha yeni versiyonlarını gerektirir. Önerilen minimum versiyon Java 11’dir, ancak Java 17 veya daha yeni LTS (Long Term Support) versiyonları tercih edilebilir.
JDK’nızın kurulu olup olmadığını ve versiyonunu kontrol etmek için komut istemcisini (terminal veya PowerShell) açarak aşağıdaki komutları çalıştırabilirsiniz:
java -version
javac -version
Bu komutlar, kurulu Java versiyonunuzu ve Java derleyicisinin versiyonunu göstermelidir. Eğer bu komutlar hata veriyorsa veya Java kurulu değilse, OpenJDK, Oracle JDK gibi bir JDK dağıtımını indirip kurmanız gerekmektedir.
Ayrıca, JAVA_HOME ortam değişkeninin doğru şekilde ayarlandığından emin olmalısınız. Bu değişken, JDK’nın kök dizinini işaret etmelidir. Örneğin, Windows’ta C:\Program Files\Java\jdk-17 gibi bir yolu göstermelidir. PATH ortam değişkeni de %JAVA_HOME%\bin dizinini içermelidir, böylece java ve javac komutlarına herhangi bir dizinden erişilebilir.
Spring Boot CLI Kurulumu
Spring Boot CLI’yi kurmanın birkaç farklı yolu vardır. İşletim sisteminize ve tercihlerinize göre en uygun yöntemi seçebilirsiniz.
Windows İçin Kurulum
Windows üzerinde Spring Boot CLI’yi kurmanın en kolay yollarından biri Scoop paket yöneticisini kullanmaktır.
Scoop ile Kurulum (Önerilen)
Scoop, Windows için güçlü bir komut satırı yükleyicisidir. Eğer sisteminizde Scoop kurulu değilse, PowerShell’i yönetici olarak açarak aşağıdaki komutlarla kurabilirsiniz:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
irm get.scoop.sh | iex
Scoop kurulduktan sonra, Spring Boot CLI’yi kurmak için aşağıdaki komutu kullanabilirsiniz:
scoop install springboot
Bu komut, Spring Boot CLI’nin en son kararlı sürümünü indirip kuracak ve PATH ortam değişkeninizi otomatik olarak ayarlayacaktır.
Manuel Kurulum
Manuel kurulum için aşağıdaki adımları izleyebilirsiniz:
1. ZIP Dosyasını İndirme: Spring Boot CLI’nin ZIP dosyasını Spring’in resmi deposundan veya Maven Central’dan indirin. Örneğin, spring-boot-cli-x.x.x.RELEASE-bin.zip gibi bir dosya olacaktır.
2. Dosyayı Çıkarma: İndirdiğiniz ZIP dosyasını C:\Program Files\Spring\spring-boot-cli gibi kolay erişilebilir bir konuma çıkarın. bin klasörünün bu dizinin altında olduğundan emin olun.
3. Ortam Değişkeni (PATH) Ayarlama: Çıkarılan dizinin bin klasörünü sisteminizin PATH ortam değişkenine eklemeniz gerekir.
* Başlat menüsünden “Ortam Değişkenleri” yazarak “Sistem ortam değişkenlerini düzenleyin” seçeneğini açın.
* “Ortam Değişkenleri” düğmesine tıklayın.
* “Sistem değişkenleri” bölümünde Path değişkenini bulun ve “Düzenle” düğmesine tıklayın.
* “Yeni” düğmesine tıklayın ve Spring Boot CLI’nin bin dizininin yolunu (örneğin, C:\Program Files\Spring\spring-boot-cli\bin) ekleyin.
* Tüm pencereleri “Tamam” diyerek kapatın.
macOS İçin Kurulum
macOS üzerinde Spring Boot CLI’yi kurmanın en kolay yolu Homebrew paket yöneticisini kullanmaktır.
Homebrew ile Kurulum (Önerilen)
Homebrew, macOS için popüler bir paket yöneticisidir. Eğer sisteminizde Homebrew kurulu değilse, Terminal’i açarak aşağıdaki komutla kurabilirsiniz:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Homebrew kurulduktan sonra, Spring Boot CLI’yi kurmak için aşağıdaki komutu kullanabilirsiniz:
brew install spring-boot
Bu komut, Spring Boot CLI’nin en son kararlı sürümünü indirip kuracak ve PATH ortam değişkeninizi otomatik olarak ayarlayacaktır.
Manuel Kurulum
Manuel kurulum için aşağıdaki adımları izleyebilirsiniz:
1. ZIP Dosyasını İndirme: Spring Boot CLI’nin ZIP dosyasını Spring’in resmi deposundan indirin.
2. Dosyayı Çıkarma: İndirdiğiniz ZIP dosyasını /usr/local/spring-boot-cli gibi bir konuma çıkarın.
3. Ortam Değişkeni (PATH) Ayarlama: Çıkarılan dizinin bin klasörünü sisteminizin PATH ortam değişkenine eklemeniz gerekir. Terminal’i açın ve genellikle ~/.bash_profile, ~/.zshrc veya ~/.profile dosyanızı düzenleyin:
echo 'export PATH="/usr/local/spring-boot-cli/bin:$PATH"' >> ~/.bash_profile # veya ~/.zshrc
source ~/.bash_profile # veya ~/.zshrc
Bu komutlar, PATH değişkeninize Spring Boot CLI’nin bin dizinini ekleyecek ve değişikliği mevcut oturumunuzda etkinleştirecektir.
Linux İçin Kurulum
Linux üzerinde Spring Boot CLI’yi kurmanın en esnek yollarından biri SDKMAN! kullanmaktır.
SDKMAN! ile Kurulum (Önerilen)
SDKMAN! (Software Development Kit Manager), Linux, macOS ve WSL (Windows Subsystem for Linux) üzerinde birden fazla JDK, Maven, Gradle, Spring Boot CLI gibi SDK’ları yönetmek için kullanılan bir araçtır. Eğer sisteminizde SDKMAN! kurulu değilse, Terminal’i açarak aşağıdaki komutla kurabilirsiniz:
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
SDKMAN! kurulduktan sonra, Spring Boot CLI’yi kurmak için aşağıdaki komutu kullanabilirsiniz:
sdk install springboot
Bu komut, Spring Boot CLI’nin en son kararlı sürümünü indirip kuracak ve PATH ortam değişkeninizi otomatik olarak ayarlayacaktır.
Manuel Kurulum
Manuel kurulum için aşağıdaki adımları izleyebilirsiniz:
1. ZIP Dosyasını İndirme: Spring Boot CLI’nin ZIP dosyasını Spring’in resmi deposundan indirin.
2. Dosyayı Çıkarma: İndirdiğiniz ZIP dosyasını /opt/spring-boot-cli gibi bir konuma çıkarın.
3. Ortam Değişkeni (PATH) Ayarlama: Çıkarılan dizinin bin klasörünü sisteminizin PATH ortam değişkenine eklemeniz gerekir. Terminal’i açın ve genellikle ~/.bashrc veya ~/.profile dosyanızı düzenleyin:
echo 'export PATH="/opt/spring-boot-cli/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
Bu komutlar, PATH değişkeninize Spring Boot CLI’nin bin dizinini ekleyecek ve değişikliği mevcut oturumunuzda etkinleştirecektir.
Kurulum Doğrulama
Kurulum tamamlandıktan sonra, Spring Boot CLI’nin doğru şekilde kurulup kurulmadığını kontrol etmek için komut istemcisini (terminal veya PowerShell) açarak aşağıdaki komutu çalıştırabilirsiniz:
spring --version
Bu komut, kurulu Spring Boot CLI versiyonunu göstermelidir. Örneğin:
Spring Boot CLI 3.2.5
Eğer versiyon bilgisi görünüyorsa, Spring Boot CLI başarıyla kurulmuş demektir ve kullanıma hazırdır.
Spring Boot CLI Komutlarına Genel Bakış
Spring Boot CLI, geliştiricilere çeşitli görevleri yerine getirmeleri için bir dizi kullanışlı komut sunar. En sık kullanılan komutlara hızlıca göz atalım:
* spring run : Bir veya daha fazla Groovy veya Java kaynak dosyasını çalıştırır. CLI, gerekli bağımlılıkları otomatik olarak çözer, kodu derler ve uygulamayı başlatır. Bu, CLI’nin en sık kullanılan komutudur.
* spring init [options] [location]: Spring Initializr’ı kullanarak yeni bir Spring Boot projesi oluşturur. Bu komut, Maven veya Gradle tabanlı, Java veya Kotlin dilinde, çeşitli bağımlılıklarla dolu bir proje iskeleti oluşturabilir.
* spring jar : Verilen Groovy veya Java kaynak dosyalarından çalıştırılabilir (executable) bir JAR dosyası oluşturur. Bu JAR, daha sonra java -jar komutuyla çalıştırılabilir.
* spring test : Verilen Groovy veya Java test dosyalarını çalıştırır.
* spring help [command]: Belirli bir komut hakkında yardım veya tüm komutların listesini gösterir.
* spring get : Belirli bir Spring Boot starter bağımlılığını veya diğer bağımlılıkları indirir.
* spring install : Belirli bir bağımlılığı CLI’nin yerel deposuna kurar.
* spring uninstall : Kurulmuş bir bağımlılığı kaldırır.
Bu komutlar, Spring Boot CLI’nin esnekliğini ve geliştirme sürecini ne kadar hızlandırabileceğini göstermektedir.
HelloWorld Örneği
Şimdi Spring Boot CLI kullanarak basit bir “HelloWorld” uygulamasını nasıl oluşturup çalıştıracağımıza bakalım. Öncelikle Groovy ile başlayıp, ardından Java ile nasıl yapılabileceğini göstereceğiz.
Groovy ile HelloWorld
Groovy, Java platformu için dinamik bir dildir ve Java ile tam uyumludur. Spring Boot CLI, Groovy betiklerini doğrudan çalıştırabilme yeteneği sayesinde geliştirme sürecini oldukça basitleştirir.
1. Çalışma Dizini Oluşturma: İlk olarak, projeniz için yeni bir klasör oluşturun ve içine girin:
mkdir spring-cli-helloworld
cd spring-cli-helloworld
2. Groovy Betiği Oluşturma: app.groovy adında yeni bir dosya oluşturun ve içine aşağıdaki kodu yapıştırın:
@RestController
class HelloWorldApp {
@RequestMapping("/")
String home() {
"Merhaba, Spring Boot CLI!"
}
@RequestMapping("/hello")
String hello() {
"Merhaba Dünya!"
}
}
Bu kod parçası, standart bir Spring Boot web uygulamasıdır. @RestController annotation’ı, bu sınıfın bir REST kontrolcüsü olduğunu belirtir ve yöntemlerin HTTP isteklerine yanıt vereceğini gösterir. @RequestMapping("/") ve @RequestMapping("/hello") annotation’ları, ilgili yöntemlerin belirli URL yollarına (paths) eşlendiğini belirtir.
Önemli Not: Bu Groovy betiğinde, import ifadelerini veya main metodunu görmüyorsunuz. Spring Boot CLI, Groovy betiklerini çalıştırırken bu boilerplate (tekrar eden) kodları otomatik olarak ekler. @RestController veya @RequestMapping gibi Spring annotation’larını gördüğünde, CLI otomatik olarak spring-boot-starter-web bağımlılığını indirir ve projenize ekler. Ayrıca, bir main metodu içeren ve uygulamayı başlatan bir SpringApplication sınıfını da otomatik olarak oluşturur.
3. Uygulamayı Çalıştırma: Şimdi, terminalinizde aynı dizinde olduğunuzdan emin olarak aşağıdaki komutu çalıştırın:
spring run app.groovy
CLI, gerekli bağımlılıkları (ilk çalıştırmada biraz zaman alabilir), kodu derleyecek ve uygulamayı gömülü bir Tomcat sunucusu üzerinde 8080 portunda başlatacaktır. Konsolda aşağıdaki gibi bir çıktı görmelisiniz:
...
Tomcat initialized with port(s): 8080 (http)
...
Started HelloWorldApp in X.XXX seconds (JVM running for X.XXX)
...
4. Uygulamayı Test Etme: Uygulama çalıştıktan sonra, web tarayıcınızı açın ve aşağıdaki adreslere gidin:
* http://localhost:8080/
* http://localhost:8080/hello
İlk adreste “Merhaba, Spring Boot CLI!” mesajını, ikinci adreste ise “Merhaba Dünya!” mesajını görmelisiniz.
5. Uygulamayı Durdurma: Uygulamayı durdurmak için terminalde Ctrl+C tuş kombinasyonuna basmanız yeterlidir.
Java ile HelloWorld
Spring Boot CLI, sadece Groovy betiklerini değil, aynı zamanda Java kaynak dosyalarını da çalıştırabilir. Ancak Java için CLI kullanımı, Groovy’ye kıyasla bazı ek adımlar gerektirebilir veya daha az “sihirli” hissettirebilir, çünkü Java projeleri genellikle Maven veya Gradle gibi derleme araçlarıyla daha iyi yönetilir. Yine de, CLI’nin Java dosyalarını nasıl işlediğini görmek faydalıdır.
1. Çalışma Dizini Oluşturma: Yine yeni bir klasör oluşturun veya önceki klasörü kullanın:
mkdir spring-cli-java-helloworld
cd spring-cli-java-helloworld
2. Java Kaynak Dosyası Oluşturma: HelloWorldApplication.java adında yeni bir dosya oluşturun ve içine aşağıdaki kodu yapıştırın:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@RestController
public class HelloWorldApplication {
public static void main(String[] args) {
SpringApplication.run(HelloWorldApplication.class, args);
}
@RequestMapping("/")
public String home() {
return "Merhaba, Spring Boot CLI (Java)!";
}
@RequestMapping("/java-hello")
public String javaHello() {
return "Merhaba Dünya (Java)!";
}
}
Bu Java kodu, Groovy örneğinin Java karşılığıdır. Java’da import ifadelerini ve main metodunu açıkça belirtmeniz gerekir. @SpringBootApplication annotation’ı, Spring Boot uygulamasının ana sınıfını işaret eder ve otomatik yapılandırma, bileşen taraması gibi özellikleri etkinleştirir.
3. Uygulamayı Çalıştırma: Terminalinizde aynı dizinde olduğunuzdan emin olarak aşağıdaki komutu çalıştırın:
spring run HelloWorldApplication.java
CLI, Java dosyasını derleyecek, gerekli bağımlılıkları (yine spring-boot-starter-web gibi) çözecek ve uygulamayı başlatacaktır. Çıktı, Groovy örneğine benzer olacaktır.
4. Uygulamayı Test Etme: Web tarayıcınızı açın ve aşağıdaki adreslere gidin:
* http://localhost:8080/
* http://localhost:8080/java-hello
İlgili mesajları görmelisiniz.
Detaylı Açıklamalar
Her iki örnekte de Spring Boot CLI’nin arkasındaki “sihri” anlamak önemlidir:
* Otomatik Yapılandırma (Auto-configuration): Spring Boot, classpath’inizdeki JAR bağımlılıklarına, tanımladığınız bean’lere ve diğer yapılandırma ayarlarına bakarak uygulamanızı otomatik olarak yapılandırmaya çalışır. Örneğin, spring-boot-starter-web bağımlılığı classpath’te olduğunda, Spring Boot otomatik olarak bir gömülü Tomcat sunucusu, Spring MVC ve diğer web ile ilgili bileşenleri yapılandırır.
* Starter Bağımlılıkları: spring-boot-starter-web gibi starter’lar, belirli bir teknoloji yığını (örneğin, web geliştirme) için gerekli tüm bağımlılıkları bir araya getiren kullanışlı bağımlılık tanımlayıcılarıdır. Bu, bağımlılık yönetimini büyük ölçüde basitleştirir. CLI, kodunuzdaki annotation’ları veya sınıfları analiz ederek bu starter’ları otomatik olarak ekler.
* Gömülü Sunucu (Embedded Server): Spring Boot uygulamaları, harici bir uygulama sunucusuna (örneğin, standalone Tomcat) ihtiyaç duymaz. Kendi içlerinde bir sunucu (varsayılan olarak Tomcat) barındırır. Bu, uygulamaların tek bir JAR dosyası olarak paketlenip her yerde çalıştırılabilmesini sağlar.
* Groovy’nin Avantajları: Groovy, Java’ya göre daha az boilerplate kod gerektirir. import ifadeleri veya main metodu gibi standart Java yapıları, Spring Boot CLI tarafından otomatik olarak eklenir. Bu, Groovy’yi hızlı prototipleme ve CLI ile kullanım için mükemmel bir seçim yapar.
* CLI’nin Arka Planda Yaptığı İşler: spring run komutunu çalıştırdığınızda, CLI şunları yapar:
1. Bağımlılık Çözme: Kaynak kodunuzu tarar ve @RestController, @Service gibi Spring annotation’larını veya belirli sınıfları bulduğunda, ilgili Spring Boot starter bağımlılıklarını (örneğin, spring-boot-starter-web, spring-boot-starter-data-jpa) otomatik olarak Maven Central’dan indirir ve classpath’e ekler.
2. Derleme: Groovy veya Java kaynak kodunu derler.
3. Uygulama Başlatma: Derlenmiş kodu ve çözülmüş bağımlılıkları kullanarak Spring Boot uygulamasını başlatır. Bu, genellikle gömülü bir web sunucusunun (varsayılan olarak Tomcat) başlatılmasını içerir.
Gelişmiş Kullanım İpuçları ve En İyi Uygulamalar
Spring Boot CLI, temel kullanımın ötesinde bazı gelişmiş yetenekler sunar ve belirli senaryolarda daha verimli kullanılabilir.
Bağımlılıkları Manuel Ekleme (@Grab)
CLI’nin otomatik bağımlılık çözümü harika olsa da, bazen belirli bir bağımlılığı manuel olarak eklemek isteyebilirsiniz. Groovy betikleri içinde @Grab annotation’ını kullanarak bunu yapabilirsiniz:
@RestController
@Grab('spring-boot-starter-data-jpa') // JPA desteği ekler
@Grab('h2') // H2 veritabanı ekler
class DataApp {
// ... JPA repositories, entities, etc.
}
Bu, CLI’ye spring-boot-starter-data-jpa ve h2 bağımlılıklarını uygulamanıza dahil etmesini söyler.
Profil Tanımlama
Spring Boot, farklı ortamlar (geliştirme, test, üretim) için farklı yapılandırmalar tanımlamanıza olanak tanıyan “profiller” kavramını destekler. CLI ile bir uygulama çalıştırırken belirli bir profili etkinleştirebilirsiniz:
spring run app.groovy -- --spring.profiles.active=dev
Bu komut, app.groovy uygulamasını dev (geliştirme) profilini etkinleştirerek çalıştırır.
Harici Yapılandırma
Spring Boot, harici yapılandırmayı (örneğin, application.properties veya application.yml dosyaları) destekler. CLI ile çalışırken de bu dosyaları kullanabilirsiniz. Sadece app.groovy veya HelloWorldApplication.java dosyanızın bulunduğu dizine bir application.properties dosyası ekleyin:
# application.properties
server.port=9090
my.greeting=Merhaba CLI!
Ardından, uygulamanızı çalıştırdığınızda, bu özellikler otomatik olarak yüklenecektir.
@RestController
class CustomConfigApp {
@Value('${my.greeting:Default Greeting}')
String greeting;
@RequestMapping("/greeting")
String getGreeting() {
greeting
}
}
Uygulamayı çalıştırıp http://localhost:9090/greeting adresine gittiğinizde “Merhaba CLI!” çıktısını görmelisiniz.
CLI’nin Üretim Ortamında Kullanımı
Spring Boot CLI, hızlı prototipleme ve geliştirme için mükemmel olsa da, genellikle üretim ortamında kullanılmaz. Üretim ortamında, Maven veya Gradle gibi derleme araçları tarafından oluşturulan tam teşekküllü, bağımsız JAR dosyaları tercih edilir. Bu JAR’lar, bağımlılıkları açıkça tanımlar, daha sağlam derleme süreçleri sunar ve CI/CD (Sürekli Entegrasyon/Sürekli Dağıtım) boru hatlarına daha iyi entegre olur.
CLI, bir Java veya Groovy dosyasından çalıştırılabilir bir JAR oluşturma yeteneğine sahiptir:
spring jar myapp.jar app.groovy
Bu komut, app.groovy dosyasından myapp.jar adında çalıştırılabilir bir JAR oluşturur. Daha sonra bu JAR’ı java -jar myapp.jar komutuyla çalıştırabilirsiniz. Ancak, bu JAR dosyası, Maven/Gradle tarafından oluşturulan bir JAR kadar yapılandırılabilir veya özelleştirilebilir olmayabilir.
CLI’nin Prototipleme ve Öğrenme Aracı Olarak Önemi
CLI’nin asıl gücü, Spring Boot’u öğrenmek ve hızlıca fikirleri test etmek isteyen geliştiriciler için sağladığı kolaylıktadır. Karmaşık proje yapılandırmalarıyla uğraşmadan doğrudan iş mantığına odaklanmanızı sağlar. Yeni bir Spring Boot özelliğini veya bir kütüphaneyi denemek istediğinizde, birkaç satır Groovy kodu yazıp spring run komutuyla anında sonuçları görebilirsiniz. Bu, öğrenme eğrisini düşürür ve geliştiricilerin daha hızlı deneyim kazanmasına yardımcı olur.
Sıkça Sorulan Sorular (SSS)
Spring Boot CLI ile Maven/Gradle arasındaki fark nedir?
Spring Boot CLI, hızlı prototipleme ve tek dosya uygulamaları çalıştırmak için tasarlanmış bir komut satırı aracıdır. Bağımlılıkları otomatik olarak çözer ve Groovy betiklerini doğrudan çalıştırabilir. Maven ve Gradle ise daha büyük, çok modüllü projelerin derlemesi, paketlemesi, test edilmesi ve bağımlılık yönetimini sağlamak için kullanılan tam teşekküllü proje derleme araçlarıdır. CLI, arka planda Maven veya Gradle’ın bazı işlevlerini taklit etse de, bir derleme aracı değildir; daha çok bir “koşucu” ve “prototipleme” aracıdır. Üretim projelerinde Maven veya Gradle kullanmak standart ve önerilen yaklaşımdır.
CLI’yi ne zaman kullanmalıyım?
* Hızlı prototipler oluştururken.
* Spring Boot’u öğrenirken veya yeni bir özelliği test ederken.
* Küçük, tek dosya veya minimal bağımlılığa sahip uygulamalar geliştirirken.
* IDE açmaya gerek kalmadan anında geri bildirim almak istediğinizde.
* Groovy’nin sunduğu dinamik dil özelliklerinden faydalanmak istediğinizde.
Hata ayıklama (Debugging) nasıl yapılır?
Spring Boot CLI ile çalışan bir uygulamada hata ayıklamak için, Java’nın uzaktan hata ayıklama (remote debugging) yeteneğini kullanabilirsiniz. spring run komutuna Java hata ayıklama parametrelerini eklemeniz gerekir:
spring run --debug app.groovy
Bu komut, uygulamayı 8000 portunda hata ayıklama modunda başlatır. Daha sonra bir IDE’den (IntelliJ IDEA, Eclipse, VS Code) bu porta bağlanarak hata ayıklama yapabilirsiniz.
Farklı Spring Boot versiyonlarını nasıl yönetirim?
Eğer SDKMAN! ile Spring Boot CLI’yi kurduysanız, farklı versiyonları yönetmek oldukça kolaydır:
sdk list springboot # Mevcut versiyonları listeler
sdk install springboot # Belirli bir versiyonu kurar
sdk use springboot # Belirli bir versiyonu kullanır
sdk default springboot # Varsayılan versiyonu ayarlar
Manuel kurulum yaptıysanız, farklı versiyonları farklı dizinlere kurup PATH ortam değişkeninizi manuel olarak değiştirmeniz veya sembolik bağlantılar kullanmanız gerekebilir.
Sonuç
Spring Boot CLI, Spring Boot ekosisteminin geliştirici verimliliğine yaptığı önemli katkılardan biridir. Hızlı prototipleme, kolay öğrenme ve anında geri bildirim sağlama yetenekleriyle, özellikle yeni başlayanlar ve hızlı deneyler yapmak isteyen deneyimli geliştiriciler için vazgeçilmez bir araçtır. Groovy’nin esnekliğiyle birleştiğinde, minimal kodla tam teşekküllü Spring Boot uygulamaları oluşturma ve çalıştırma imkanı sunar.
Bu makalede, Spring Boot CLI’nin kurulumundan, temel komutlarına, Groovy ve Java ile “HelloWorld” örneklerinin geliştirilmesine kadar geniş bir yelpazeyi ele aldık. CLI’nin arkasındaki otomatik yapılandırma ve bağımlılık yönetimi gibi mekanizmaları anlayarak, bu güçlü aracı daha verimli bir şekilde kullanabilirsiniz. Unutmayın ki CLI, prototipleme ve öğrenme aracı olarak öne çıksa da, büyük ölçekli ve üretim odaklı projelerde Maven veya Gradle gibi derleme araçlarının sağladığı esneklik ve kontrol genellikle tercih edilir. Ancak her geliştiricinin araç kutusunda bulunması gereken değerli bir parçadır.