Spring Boot: İleri Konfigürasyonlar ve Özellikler

Spring Boot Konfigürasyonları
Spring Boot, konfigürasyon açısından esneklik sağlar ve farklı yollarla yapılandırılabilir. Özellikle application.properties
veya application.yml
dosyalarını kullanarak uygulamanızın ayarlarını kolayca yönetebilirsiniz.
application.properties Dosyası
src/main/resources/application.properties
dosyasını oluşturarak, uygulamanızın çeşitli ayarlarını yapabilirsiniz. İşte bazı yaygın kullanılan ayarlar:
# Sunucu Portu
server.port=8081
# Uygulama İsmi
spring.application.name=MySpringBootApp
# Veritabanı Ayarları
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=secret
application.yml Dosyası
YAML formatı, daha okunabilir ve yapılandırılmış bir format sunar. application.yml
dosyası şu şekilde olabilir:
server:
port: 8081
spring:
application:
name: MySpringBootApp
datasource:
url: jdbc:mysql://localhost:3306/mydb
username: root
password: secret
Profil Yönetimi
Spring Boot, farklı ortamlarda çalıştırılabilmesi için profil yönetimini destekler. Örneğin, application-dev.properties
ve application-prod.properties
dosyaları oluşturabilirsiniz. Bu profilleri çalıştırırken belirlemek için:
# application.properties
spring.profiles.active=dev
Spring Boot Actuator
Spring Boot Actuator, uygulamanızın durumunu izlemek ve yönetmek için kullanabileceğiniz birçok özellik sunar. Bu özellikleri etkinleştirmek için pom.xml
dosyanıza aşağıdaki bağımlılığı ekleyin:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
Actuator’ı etkinleştirdikten sonra, /actuator
endpoint'leri aracılığıyla uygulamanızın durumu hakkında bilgi alabilirsiniz.
Güvenlik
Spring Boot uygulamanızı güvence altına almak için Spring Security kullanabilirsiniz. pom.xml
dosyanıza aşağıdaki bağımlılığı ekleyin:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
Varsayılan olarak, Spring Security tüm endpoint’leri koruma altına alır. src/main/java/com/example/demo/SecurityConfig.java
dosyasını oluşturarak güvenlik yapılandırmalarınızı özelleştirebilirsiniz:
package com.example.demo;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/public/**").permitAll()
.anyRequest().authenticated()
.and()
.formLogin()
.and()
.httpBasic();
}
}
Sonuç
Bu makalede, Spring Boot uygulamanızı nasıl yapılandırabileceğinizi ve güvenlik ile izleme özelliklerini nasıl ekleyebileceğinizi öğrendiniz. Bir sonraki yazımızda, Spring Boot ile mikroservisler oluşturmayı ve dağıtılmış sistemlerde kullanılabilecek pratik çözümleri inceleyeceğiz.