SPRİNG EĞİTİMİ
Spring framework, Java EE'nin karmaşıklığına alternatif olarak doğdu ve bugün kurumsal Java geliştirmenin de facto standardı oldu. Spring Boot ile başlayan bir Java geliştirici, dakikalar içinde çalışan bir web API'sine kavuşur. Banka, sigorta, telekom, e-ticaret platformlarının modern Java tarafları büyük ölçüde Spring üzerine kurulur.
Spring Eğitimi, Spring ekosisteminin modern yaklaşımını katılımcıya kazandırır. Spring Core (IoC ve DI), Spring Boot ile hızlı uygulama başlatma, Spring MVC ile REST API, Spring Data JPA ile veritabanı erişimi, Spring Security ile kimlik doğrulama ve yetkilendirme, hata yönetimi, validation, test yazımı, Maven/Gradle ile bağımlılık yönetimi ve mikroservis mimarisine giriş işlenir.
Spring Eğitimi, junior Java geliştiricilerden senior'a geçenler, kurumsal yazılım ekiplerine katılan profesyoneller, modern Java tabanlı web API geliştirmek isteyen ekipler için tasarlanmıştır. Eğitim sonunda katılımcı, Spring Boot ile production seviyesinde uygulama geliştirebilir.
Ön Koşullar
Spring Eğitimi için ön koşul, Java temel ve ileri düzey bilgisidir. Maven veya Gradle ile bağımlılık yönetimi deneyimi avantajdır.
Kimler Katılmalı
- Junior Java Geliştiriciler: Senior'a geçişte Spring becerisi kazanmak isteyenler
- Kurumsal Yazılım Ekipleri: Modern Java backend yazan profesyoneller
- Mikroservis Mimarisi Yapan Profesyoneller: Spring Cloud ile dağıtık sistem yazanlar
- Web API Geliştiricileri: REST API üreten kadrolar
- B2B SaaS Yazılım Ekipleri: Çok kiracılı kurumsal uygulama yapanlar
- Backend Pozisyonu Hedefleyen Yazılımcılar: Modern Java backend dünyasına giren profesyoneller
- Tech Lead Adayları: Java mimarisi yönetmek isteyen kıdemli geliştiriciler
Eğitim Yöntemi
Sunum, Spring Boot ile dakikalar içinde proje kurma demo, REST API atölyesi, Spring Data JPA egzersizi, Spring Security pratiği ve katılımcının kendi mini API'sini production seviyesinde üretmesi ile yürür.
Kazanımlar
- Spring Core (IoC, DI): Bağımlılık enjeksiyonu ile gevşek bağlı tasarım
- Spring Boot: Dakikalar içinde çalışan uygulama başlatma
- Spring MVC ve REST API: Modern web API üretme
- Spring Data JPA: Veritabanı erişim katmanı kurma
- Spring Security: Kimlik doğrulama ve yetkilendirme
- Validation ve Hata Yönetimi: Bean validation ve global exception handler
- Mikroservis Mimarisine Giriş: Spring Cloud ekosistemi temelleri
Eğitim Süresi
4 Gün (32 Saat). Kurumsal talebe göre 3 günlük yoğun veya 5 günlük uygulamalı versiyon olarak planlanabilir.
Spring Eğitimi İçeriği
1. Spring Framework Genel Bakış
- Spring'in çıkış nedeni ve felsefesi
- Spring projeleri ailesi (Boot, Cloud, Data)
- Java EE/Jakarta EE ile karşılaştırma
- Modern kurumsal Java'da konumu
2. IoC ve Dependency Injection
- Inversion of Control prensibi
- Constructor, setter ve field injection
- Bean tanımlama yolları
- BeanFactory ve ApplicationContext
- Loose coupling ile test edilebilirlik
3. Spring Boot ile Hızlı Başlangıç
- Spring Initializr ile proje üretme
- Auto-configuration mantığı
- application.properties ve YAML yapılandırma
- Starter bağımlılıklar
- Embedded Tomcat ile çalıştırma
4. Bean Scope ve Yaşam Döngüsü
- Singleton, prototype, request, session
- @PostConstruct ve @PreDestroy
- InitializingBean ve DisposableBean
- Bean post processor temelleri
5. Yapılandırma Yöntemleri
- Annotation tabanlı yapılandırma
- @Configuration ve @Bean
- Profile ile ortam bazlı ayarlar
- @Value ve external configuration
- Spring Boot @ConfigurationProperties
6. Spring MVC Temelleri
- DispatcherServlet ve request akışı
- Controller ve RestController ayrımı
- Request mapping ve HTTP metodları
- Path variable ve request param
- Response status ve ResponseEntity
7. REST API Tasarımı
- RESTful URL tasarım kuralları
- JSON serileştirme (Jackson)
- HATEOAS ile hipermedya bağlantıları
- API versioning stratejileri
- OpenAPI/Swagger ile dokümantasyon
8. Validation ve Bean Validation
- @Valid ve @Validated kullanımı
- Built-in validator annotation'ları
- Custom validator yazma
- Validation error mesaj yönetimi
9. Exception Handling
- @ExceptionHandler kullanımı
- @ControllerAdvice ile global handler
- Problem Details (RFC 7807) yaklaşımı
- Hata yanıt formatı tasarımı
- Loglama stratejileri
10. Spring Data JPA Temelleri
- Repository pattern ve JpaRepository
- Entity ve ORM yapılandırması
- Query method isimlendirme
- @Query ile özel sorgular
- Projection ve DTO dönüşümleri
11. JPA İlişkiler ve Transaction
- OneToMany, ManyToOne, ManyToMany
- Cascade ve orphan removal
- Lazy ve eager fetch dengesi
- @Transactional kullanımı
- Read-only transaction optimizasyonu
12. Spring Data JDBC ve QueryDSL Alternatifleri
- JDBC Template kullanımı
- NamedParameterJdbcTemplate
- QueryDSL ile tip-güvenli sorgular
- JPA seçimi vs JDBC seçimi
13. Spring Security Temelleri
- Security filter chain mantığı
- Authentication ve authorization
- UserDetailsService ile kullanıcı yönetimi
- Password encoder ve BCrypt
- Method seviyesi güvenlik
14. JWT ve OAuth2 Entegrasyonu
- JWT yapısı ve token üretimi
- JWT filter ile stateless güvenlik
- OAuth2 resource server
- Keycloak veya Auth0 entegrasyonu
- Refresh token akışı
15. Caching ve Performans
- @Cacheable, @CacheEvict kullanımı
- Redis ve Caffeine cache provider
- Cache invalidation stratejileri
- HTTP cache header yönetimi
16. Asenkron İşlemler ve Scheduling
- @Async ile asenkron metot
- @Scheduled görev planlama
- Task executor yapılandırması
- CompletableFuture entegrasyonu
17. Test Yazımı (Spring Boot Test)
- JUnit 5 ile birim testi
- @SpringBootTest ve test slice'lar
- MockMvc ile controller testi
- Testcontainers ile entegrasyon testi
- Mockito ile bağımlılık taklit etme
18. Spring Actuator ve Observability
- Health, info, metrics endpoint'leri
- Micrometer ile metrik toplama
- Prometheus entegrasyonu
- Distributed tracing (Sleuth, Zipkin)
19. Mikroservis Mimarisine Giriş
- Monolit ile mikroservis karşılaştırması
- Spring Cloud Config server
- Service discovery (Eureka, Consul)
- API Gateway ve load balancing
- Resilience4j ile circuit breaker
20. Production'a Hazırlık ve Deploy
- JAR ve Docker imajı üretimi
- 12-factor app prensipleri
- Externalized configuration
- Cloud-native deployment
- Production'a alma checklist'i





