Java ve Spring Boot 2.0 ile Dinamik Web Uygulamaları Eğitimi
4.4 (459 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1,398 students enrolled

Java ve Spring Boot 2.0 ile Dinamik Web Uygulamaları Eğitimi

Spring Boot 2.0.0 kullanarak dinamik Java web uygulamaları geliştirmeyi uzmanından öğrenin
4.4 (459 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1,398 students enrolled
Created by Kenan Sevindik
Last updated 12/2019
Turkish
Current price: $129.99 Original price: $199.99 Discount: 35% off
19 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 12 hours on-demand video
  • 72 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Eclipse tabanlı Spring Tool Suite ile çalışmayı
  • Maven ile Java web uygulamaları oluşturmayı
  • Spring Boot ile executable Java web uygulamaları oluşturmayı
  • Spring Boot’un otomatik konfigürasyon kabiliyetini
  • Spring Boot Starter’ları ile çalışmayı
  • Spring Boot Actuator modülünün neler sağladığını
  • Uygulamanın konfigürasyon property’lerinin yönetimini
  • Uygulamanızı farklı hedef ortamlarda herhangi bir değişiklik yapmadan çalıştırmayı
  • Loglama kabiliyetini devreye almayı ve uygulamanın davranışını trace etmeyi
  • Spring Boot ile RESTful web servisleri geliştirmeyi
  • JSP tabanlı dinamik web sayfaları geliştirmeyi
  • Hata sayfalarını özelleştirmeyi
  • Uygulamaya özel Servlet ve Filter yazmayı
  • Template engine kullanmayı
  • Entegrasyon testleri yazmayı ve çalıştırmayı
  • Farklı DataSource konfigürasyonları yapmayı
  • Veritabanı bağlantı havuzu kullanmayı
  • Gömülü veritabanları ve H2 ile çalışmayı
  • JDBC API ile veritabanı işlemleri geliştirmeyi
  • JPA/Hibernate ile çalışmayı
  • Transaction yönetimini
  • Veritabanı şemasını ortama göre otomatik oluşturmayı ve test verilerini yüklemeyi
  • Web uygulamaları için sağlanan default güvenlik kabiliyetlerini devreye almayı
  • Form tabanlı ve HTTP BASIC kimliklendirme kabiliyetlerini
  • Beni hatırla kabiliyetinin devreye alınmasını
  • Kullanıcı oturum yönetimini
  • Kullanıcı şifrelerinin veritabanında kriptolu saklanmasını
  • Web sayfalarının yetkilendirilmesini
  • Metot düzeyinde yetkilendirme kabiliyetini
  • Önbellek kabiliyetinin devreye alınmasını ve metot return değerlerinin cache’lenmesini
  • Metot input parametrelerinin ve return değerlerinin validasyona tabi tutulmasını
  • E-Posta göndermeyi, ve geliştirme ortamında e-posta göndermeyi test etmeyi ve diğer pek çok özelliği bu eğitimde uygulamalı olarak öğrenme fırsatı bulacaksınız.
  • Eğitim içeriğimiz sürekli güncelleniyor, yeni konu başlıkları ve dersler ekleniyor. Ayrıca soru-cevap bölümünde de konu ile ilgili her türlü sorunuza ve probleminize en hızlı biçimde cevap veriyoruz.
  • Bu eğitimi satın aldığınızda sürekli güncellen bir içeriğe ve aktif bir iletişim kanalına da sahip olacaksınız!
Course content
Expand all 144 lectures 12:05:32
+ Spring Boot'a Giriş
16 lectures 01:08:31

Spring Boot eğitimimizin ana hedefini ve eğitim boyunca işleyeceğimiz konuları ve elde edeceğimiz kazanımları konuşacağız.

Preview 05:21

Spring Boot nedir ve nasıl ortaya çıkmıştır?, Spring Boot’un Spring ekosistemindeki yeri neresidir?, Spring ile Spring Boot arasında nasıl bir ilişki vardır? gibi sorulara cevaplar bulacağız.

Preview 08:02

Spring Boot’un üzerine bina edildiği temel prensipleri ve bu prensiplerin etrafında sahip olduğu temel kabiliyetleri öğreneceğiz.

Preview 05:29

Spring Boot eğitimi boyunca kullanılacak olan Java Development Kit 8 ve Spring Tool Suite 3.9.4 IDE araçlarının kurulumu ve temel ayarlarıüzerinde duracağız.

Preview 01:59

Spring Boot eğitimi boyunca kullanılacak olan Java Development Kit 8 ve Spring Tool Suite 3.9.4 IDE araçlarının kurulum ve konfigürasyonunu gerçekleştireceğiz.

Preview 06:49

Genel olarak Spring Boot Framework ile çalışırken kullanılabilecek build araçlarından kısaca bahsettikten sonra Maven build ve dependency management aracının Spring Boot ile çalışırken nasıl kullanılacağını öğreneceğiz. Bunun yanı sıra Maven ile çalışırken kullanılan standlone ve web uygulamalarının dizin yapıları üzerinde duracağız.

Spring Boot ve Maven
06:31

Eğitim boyunca lab çalışmalarını yapacağımız PetClinic Java projesini Maven kullarak oluşturacağız ve projenin pom.xml'inde Spring Boot Framework ile çalışabilmek için gerekli ayarları gerçekleştireceğiz.

PetClinic Projesinin Oluşturulması
06:29

Spring Boot Starter’larının ne olduğunu, ne işe yaradıklarını ve proje içerisinde nasıl kullanıldıklarını öğreneceğiz.

Spring Boot Starters
01:45

PetClinic projesine web starter'ını ekleyerek Spring Boot'un Web MVC kabiliyetlerini devreye alacağız.

Preview 02:31

Spring Boot’un hemen her Java uygulamasında ihtiyaç duyulan temel yönetim ve monitör kabiliyetlerini sunduğu actuator modülünü ve özelliklerini inceleyeceğiz.

Spring Boot Actuator
04:46
Spring Boot Actuator'ı PetClinic projesinde devreye alacağız.
Spring Boot Actuator'ın Eklenmesi
02:11

Spring Boot’un, yazılım geliştirme sürecini daha kolay ve akıcı hale getirmek için sunduğu kabiliyetleri ve bunların nasıl devreye alınacağını öğreneceğiz.

Spring Boot Dev Tools
02:46

Spring Boot'un Dev Tools kabiliyetini PetClinic projesinde devreye alacağız.

Projede Dev Tools'un Devreye Alınması
01:45

Bir Spring Boot projesindeki temel anotasyonların neler olduğunu ve ne işe yaradıklarını öğreneceğiz.

İlk Spring Boot Uygulaması
06:46

PetClinic projesinde bir SpringBootApplication sınıfı oluşturup çalışır hale getireceğiz.

PetClinic Spring Boot Uygulaması (Uygulamalı)
03:13

Maven kullanarak PetClinic projesinin executable JAR dosyasını elde edeceğiz ve PetClinic uygulamasını IDE dışında, komut satırından çalıştıracağız.

Executable JAR Oluşturma ve Çalıştırma
02:08
+ Konfigürasyon Bilgilerinin Yönetilmesi
8 lectures 31:19

Spring Boot'un, geliştirdiğimiz uygulamaları farklı ortamlarda farklı konfigürasyon ayarları ile kolay ve uygulama içerisinde herhangi bir değişiklik yapmadan çalıştırmamızı sağlayan özelliklerini tanıyacağız.

Konfigürasyon Bilgilerinin Yönetilmesi
05:57

PetClinic projesinin konfigürasyon ayarlarını yönetmek için application.properties dosyası ekleyeceğiz.

Projeye application.properties'in Eklenmesi
02:19

DEV ortamına özgü konfigürasyon ayarlarını yönetmek için application-dev.properties dosyası ekleyeceğiz.

Projeye application-dev.properties Eklenmesi
04:11

Spring Boot'un hiyerarşik konfigürasyon property tanımları ile kolay biçimde çalışabilmek için desteklediği YAML konfigürasyon dosya formatından ve özelliklerinden bahsedeceğiz.

YAML ile Konfigürasyon Bilgilerinin Yönetilmesi
03:03

Konfigürasyon property tanımlarının Java sınıfları ile tip güvenli biçimde nasıl yüklendiklerini ve uygulama içindeki diğer sınıflardan erişilebildiklerini öğreneceğiz.

Konfigürasyon Bilgilerinin Java İle Yönetilmesi
02:33

PetClinic projesi içerisinde konfigürasyon property'lerine tip güvenli biçimde nasıl erişileceğini örnekleyeceğiz.

Konfigürasyon Bilgilerinin Java ile Yönetilmesi (Uygulamalı)
06:11

Spring Boot'un desteklediği log kütüphanelerini ve loglama ile ilgili sunduğu kabiliyetleri, uygulama çalışırken ürettiği log mesajlarının düzeyini, formatını ve çıktı lokasyonlarını nasıl yönetebileceğimizi öğreneceğiz.

Loglama İşlemleri
04:21

PetClinic projesi içerisinde log ayarlarını çalışma zamanında değiştirmenin yanı sıra, logları bir log dosyasına yazdırmayı da gerçekleştireceğiz.

Preview 02:44
+ Kurumsal Uygulamalarda Katmanlı Mimari ve PetClinic Örnek Uygulaması
6 lectures 32:18

Eğitim boyunca üzerinde çalışacağımız PetClinic web uygulaması için uygulayacağımız katmanlı mimarinin ortaya çıkışını, MVC ile ilişkisini, özelliklerini ve sağladığı faydaları konuşacağız.

Kurumsal Web Uygulamaları ve Katmanlı Mimari
08:37

PetClinic projesinde ihtiyaç duyacağımız domain sınıflarını birlikte yazacağız.

PetClinic Uygulaması Domain Sınıfları
03:06

PetClinic projesinde ihtiyaç duyacağımız dao katmanına ait arayüz sınıflarını birlikte yazacağız.

PetClinic Uygulaması DAO Katmanı Arayüz Sınıfları
05:03

PetClinic projesinde ihtiyaç duyacağımız servis katmanına ait arayüz sınıflarını birlikte yazacağız.

PetClinic Uygulaması Servis Katmanı Arayüz Sınıfları
03:20

PetClinic projesinde ihtiyaç duyacağımız dao katmanına ait arayüz sınıflarının in memory gerçekleştirim sınıflarını birlikte yazacağız.

PetClinic Uygulaması DAO Katmanı InMemory Gerçekleştirim Sınıfları
08:28

PetClinic projesinde ihtiyaç duyacağımız servis katmanına ait arayüz sınıflarının gerçekleştirimlerini birlikte yazacağız.

PetClinic Uygulaması Servis Katmanı Gerçekleştirim Sınıfları
03:44
+ Spring Boot ve Web MVC
17 lectures 01:08:02

Spring Web MVC kabiliyetlerinin Spring Boot uygulaması içerisinde nasıl devreye alınacağını, web isteklerini ele almayı, sunucunun port ve context path ayarlarını değiştirmeyi öğreneceğiz.

Spring Web MVC’nin Devreye Alınması
06:59

PetClinic projesi içerisinde basit bir Controller sınıfı geliştirerek, Spring MVC ile web isteklerini nasıl kolay biçimde ele alarak dinamik içerik üretebildiğimizi göreceğiz.

Örnek Controller Geliştirilmesi
02:49

Web uygulamaları dinamik olarak üretilen web sayfaları ve içeriğin yanı sıra statik web sayfaları, resimler, CSS, javascript dosyaları gibi web kaynaklarına da sahiptir. Bu bölümde Spring Boot ile statik web kaynakları ile kolay ve efektif biçimde nasıl çalışabileceğimizi öğreneceğiz.

Statik Web Resource’larına Erişim
02:30

PetClinic projesi içerisinde statik içeriğe sahip index.html sayfası oluşturacağız.

Projeye Statik Web Resource Olarak index.html Eklenmesi
01:20

Java web uygulamalarının standart ön yüz geliştirme teknolojilerinden birisi olan JSP ile Spring Boot ve gömülü web container’lar içerisinde nasıl çalışabileceğimizi öğreneceğiz.

Spring Boot ve JSP Sayfaları
05:50

Spring Boot uygulamalarını executable JAR formatından, executable WAR formatına nasıl dönüştüreceğimizi öğreneceğiz.

Projenin Executable WAR'a Dönüştürülmesi
04:26

PetClinic projesindeki Owner nesnelerini listelediğimiz bir web sayfasını JSP teknolojisi ile geliştireceğiz.

JSP Sayfası Geliştirilmesi
10:00

Web istekleri karşılanırken istemci ve sunucu tarafından kaynaklanan herhangi bir hata durumunda kullanıcıya gösterilecek olan hata sayfalarının nasıl özelleştirilebileceğini öğreneceğiz.

Hata Sayfaları
04:15

PetClinic projesinde meydana gelebilecek istemci kaynaklı 404 hataları sonucu gösterilecek olan bir HTML hata sayfası oluşturacağız.

Projeye Özel Hata Sayfası Eklenmesi
02:37

Spring Web MVC ile çalışırken web isteklerini ele almak için Controller ve Interceptor sınıfları yeterli olur. Ancak herhangi bir nedenle ihtiyaç durumunda bize özel Servlet veya Filter sınıfları yazmamız ve konfigüre etmemiz gerekebilir. Bu bölümde Servlet ve Filter sınıflarını nasıl yazacağımızı, bizim yazdığımız bu sınıfları ve 3rd party Servlet/Filter sınıflarını Spring Boot projesi içerisinde nasıl tanıtacağımızı öğreneceğiz.

Custom Servlet ve Filter Eklemek
02:47

PetClinic projesinde örnek bir Servlet yazıp, konfigüre edeceğiz.

Preview 02:23
PetClinic projesinde örnek bir Filter yazıp, konfigüre edeceğiz.
Custom Filter Örneği
02:23

JSP teknolojisine alternatif olarak thymeleaf, freemarker gibi template engine’leri Spring Boot projemizde nasıl ayarlayabileceğimizi, şablonları nasıl yönetebileceğimizi öğreneceğiz.

Spring Boot ile Template Engine Kullanımı
02:43

Thymeleaf Template Engine Eclipse plugin Kurulumunu gerçekleştireceğiz.

Thymeleaf Template Engine Eclipse Plugin Kurulumu
02:55

PetClinic projesinde daha önce JSP teknolojisi ile geliştirdiğimiz Owner listeleme ekranını bu sefer thymeleaf şablon motoru kullanarak geliştireceğiz.

Projede Thymeleaf Template Engine Kullanımı
06:10

Tarayıcılar CSS, image, javascript gibi içeriklere bir kere eriştikten sonra, bu tür dosyaları daha sonra istemci tarafındaki önbelleklerinden yüklerler ve sunucuya gitme yükünden kurulmuş olurlar. Üretim ortamı için gayet olumlu olan bu kabiliyet geliştirme sürecinde bu dosyalara yapılan değişikliklerin kullanıcıya anında yansımasının önüne geçer. Bu bölümde Spring Boot'un sunduğu cache busting kabiliyeti ile geliştirme ortamında içeriği değişen CSS, Javascript gibi dosyalarının sunucu tarafından anında nasıl yüklendiklerini öğreneceğiz.

Spring Boot ve Cache Busting Kabiliyeti
03:26

PetClinic projesinde cache busting kabiliyetinin nasıl çalıştığını örnekleyeceğiz.

Cache Busting Kabiliyetinin Devreye Alınması
04:29
+ Spring Boot ve REST
16 lectures 01:40:05

REST tabanlı web servislerinin ortaya çıkışını, RESTful web servisler ile SOAP/WSDL tabanlı web servislerin farkını, HTTP protokolünün temel yapısını, işleyişini, Resource, URL, URI gibi kavramları öğreneceğiz.

Spring Boot ve REST
14:39

Spring MVC kullanarak RESTful web servisleri geliştirmeyi, RESTful API oluşturmayı öğreneceğiz.

Spring MVC ile REST
05:39

PetClinic uygulaması için tasarladığımız örnek REST API'sinin Spring MVC ile nasıl implement edileceğini kaynak kod üzerinden inceleyeceğiz.

PetClinic REST API Örneği
08:46

Gerektiğinde Spring Boot uygulamamızdan başka RESTful web servislerine erişmek için kullanabileceğimiz RestTemplate konfigürasyonunu ve kullanımını öğreneceğiz.

REST Servislerine Erişim
04:21

PetClinic projesindeki Owner kayıtlarını listelemeyi sağlayacak sorgu metotlarını, oluşturacağımız REST API'sine ekleyeceğiz ve kullanımlarını tarayıcı üzerinden test edeceğiz.

REST API Sorgu Örneği
09:09

Bir önceki örnekte geliştirdiğimiz REST API sorgu metotlarının kullanımlarını RestTemplate ile programatik olarak test edeceğiz.

REST API Sorgu Örneği ve Programatik Erişim 1
05:16

REST API sorgu metotlarının kullanımlarını RestTemplate ile programatik olarak test etme işlemine bu dersimizde de devam edeceğiz.

REST API Sorgu Örneği ve Programatik Erişim 2
06:38

Eclipse platformu içerisindeki TCP Monitor kabiliyetini konfigüre ederek web isteklerini nasıl dinleyebileceğimizi, HTTP request header,body, response header ve body gibi bölümlerini inceleyebileceğimizi öğreneceğiz.

Eclipse TCP Monitor Kullanımı
02:47

PetClinic projesinde yeni bir Owner kaydı eklememizi sağlayacak metodu, oluşturacağımız REST API'sine ekleyeceğiz ve kullanımını test edeceğiz.

REST API Insert Örneği
07:31

PetClinic projesinde mevcut bir Owner kaydını güncellememizi sağlayacak metodu, oluşturacağımız REST API'sine ekleyeceğiz ve kullanımını test edeceğiz.

REST API Update Örneği
06:41

PetClinic projesinde mevcut bir Owner kaydını silmemizi sağlayacak metodu, oluşturacağımız REST API'sine ekleyeceğiz ve kullanımını test edeceğiz.

REST API Delete Örneği
05:08

RESTful servislerin cevaplarını oluşturmak için ResponseStatus kullanımını PetClinic projesi içerisinde örnekleyeceğiz.

REST API ve @ResponseStatus Örneği
04:24

RESTful web servisleri JSON, XML gibi farklı formatlarda içerik üretebilirler. Bu bölümde İstemcinin RESTful web servis çağrısından dönecek cevabın formatını nasıl belirleyebileceğini öğreneceğiz.

Content Tipinin Belirlenmesi
02:36

PetClinic projesindeki RESTful web servislerin istemcinin kontrolünde XML ve JSON içerik dönmesini sağlayacağız.

Content Tipini Belirlenmesi (Uygulamalı)
02:33

HATEOAS, Hypertext As The Engine Of Application State anlamına gelmektedir ve uygulamaların REST API'lerinin harici başka bir dokümana gerek kalmadan dönen cevaplardan keşfedilebilir olmasını hedefleyen bir yaklaşımdır. Spring HATEOAS projesi de RESTFul servislere HATEOAS özelliği kazandırmayı sağlayan bir projedir. Bu bölümde RESTful servislerin cevaplarının nasıl bir yapıda olması gerektiğini ve Spring Boot içerisinden HATEOAS'ı nasıl kullanacağımızı öğreneceğiz.

Spring Boot ve HATEOAS
05:54

PetClinic projesinde oluşturduğumuz Owner kayıtlarını dönen RESTful web servisin cevabına HATEOAS'ı uygulayacağız.

HATEOAS Örneği
08:03
+ Spring Boot ile Veri Erişimi
21 lectures 01:51:16

Spring Boot, JDBC veya JPA/Hibernate gibi SQL tabanlı veri erişim teknolojileri ile çalışmayı kolaylaştırır. JDBC veya JPA/Hibernate ile çalışırken ihtiyaç duyulan DataSource bean’i Spring Boot tarafından otomatik olarak yaratılıp yönetilmektedir. Bu bölümde DataSource bean’ininin konfigürasyon ayarlarını nasıl değiştirebileceğimizi, uygulama ihtiyaçlarına göre farklı bir DataSource bean’nini nasıl kullanabileceğimizi öğreneceğiz.

DataSource Konfigürasyonu
04:39

Spring H2, HSQLDB, Derby gibi farklı gömülü veritabanları ile çalışmayı desteklemektedir. Bu bölümde H2 veritabanı özelinde gömülü veritabanları ile nasıl çalışabileceğimizi ve H2 web console’u kullanmayı öğreneceğiz.

H2 Veritabanı Kullanımı
02:59

PetClinic projesinde H2 veritabanını gömülü olarak nasıl çalıştıracağımızı öğreneceğiz.

DataSource Konfigürasyonu ve H2 Veritabanı Kullanımı
02:38

PetClinic projesinde H2 veritabanını harici olarak nasıl çalıştıracağımızı göreceğiz.

H2'nin Harici Bir Process Olarak Çalıştırılması
06:08

Spring Boot Tomcat, Hikari, C3P0 ve Commons DBCP connection pool kütüphaneleri ile çalışmayı desteklemektedir. Bu bölümde kullanmak istediğimiz connection pool kütüphanesini nasıl devreye alacağımızı ve connection pool ayarlarını değiştirmeyi öğreneceğiz.

Connection Pool Kabiliyeti
03:57

Spring Boot web uygulaması bootstrap sürecinde veritabanı şemasını, uygulamanın çalışması için gerekli ilk veya örnek verileri SQL script’leri şeklinde ortama göre yüklemeyi sağlar. Bu bölümde, şema ve data SQL scriptlerini nasıl yükleyebileceğimizi veya data initialization sürecini nasıl devre dışı bırakabileceğimizi öğreneceğiz.

Veritabanı Şema ve Test Verisi Yönetimi
05:15

IDE içerisinde SQL dosyalarını daha kolay oluşturmamızı ve yönetmemizi, gerekirse SQL ifadelerini veritabanına bağlanarak çalıştırmamızı sağlayacak SQL development tools eklentisinin kurulumunu gerçekleştireceğiz.

Eclipse SQL Development Tools Plugin Kurulumu
01:22

PetClinic projesi için şema DDL ifadeleri ve veri DML ifadeleri içeren schema.sql ve data.sql dosyaları oluşturup veritabanını initialize etmeyi ve bu işlemi platforma göre nasıl özelleştirebileceğimizi göreceğiz.

Veritabanı Şema ve Test Verisi Yönetimi
09:54

Bu bölümde Spring Boot’un JDBC API üzerinden veri erişim işlemleri gerçekleştirmek için ne tür kabiliyetler sunduğunu öğreneceğiz.

JDBC ile Çalışmak
06:12

PetClinic projesinin DAO katmanını Spring'in JDBC kabiliyetlerini kullanarak geliştireceğiz.

JDBC ile Veri Erişimi
09:57

Spring'in JDBC kabiliyetleri arasında SQL ifadelerinde pozisyonel parametreler kullanmak yerine ORM sorgularındaki gibi isimlendirilmiş (named) parametrelerle çalışmayı sağlayan NamedParameterJdbcTemplate'de vardır. Bu bölümde isimlendirilmiş parametrelere sahip SQL ifadelerini nasıl oluşturacağımızı ve NamedParameterJdbcTemplate'i nasıl kullanacağımızı öğreneceğiz.

Named Parameter Desteği
04:36

Spring’i en popüler kılan özelliklerinden birisi de farklı veri erişim teknolojileri ile aynı anda çalışabilmeyi sağlayan transparan bir transaction yönetim altyapısı sunmasıdır. Bu bölümde Spring PlatformTransactionManager soyutlamasını, dekleratif transaction yönetimini kullanmayı öğreneceğiz.

Transaction Yönetimi
05:23

PetClinic projesinde servis katmanını transactional yaparak, servis metotlarında gerçekleştirilen işlemlerin transaction içerisinde atomik olarak yürütülmelerini sağlayacağız.

Transaction Yönetimi (Uygulamalı)
08:30

Bu bölümde Spring Boot ile Spring Data JPA projesi ve Hibernate’in en son sürümü ile nasıl çalışacağımızı, DAO katmanındaki bean’lerimizi JPA/Hibernate kullanarak nasıl yazabileceğimizi, domain sınıflarındaki mapping tanımlarımızı otomatik olarak yüklemeyi ve JPA ayarlarını ortama göre yönetmeyi öğreneceğiz.

JPA/Hibernate ile Çalışmak
04:51

PetClinic projesinin veri erişim (DAO) katmanındaki arayüzleri JPA ile geliştireceğiz. Bunun için bu dersimizde domain sınıflarının JPA mapping'lerini yapacağız.

JPA/Hibernate ile Veri Erişimi 1
07:29

PetClinic projesinin OwnerRepository ve Pet Repository arayüzlerinin JPA gerçekleştirimlerini yapacağız.

JPA/Hibernate ile Veri Erişimi 2
08:50

JPA/Hibernate ile çalışanlar için en bilindik problemlerden birisi de LazyInitializationException'lardır. Bu bölümde entity'lerin lazy ilişkilerine problemsiz erişebilmek için ne yapmamız gerektiğini ve Spring Boot platformunun bize sağladığı kolaylıkları öğreneceğiz.

Hibernate ve Lazy Loading
02:24

Spring'in dekleratif transaction yönetiminde servis metot çağrılarının nasıl sonlandığı transaction'ın sonucunu da belirler. Eğer metot başarılı sonlanmış ise transaction commit edilir. Ancak metot başarısız sonlanmış ise, yani metot herhangi bir Exception fırlatarak sonlanmış ise, bu durumda transaction'ın nasıl sonuçlanacağını Spring exception türüne bakarak belirler. Bu bölümde dekleratif transaction yönetimindeki transaction rollback kurallarını ve bunları nasıl değiştirebileceğimizi öğreneceğiz.

Transaction Rollback Kuralları
03:44

Servis katmanındaki metotların çağrılması veya bu metotların birbirlerini çağırmaları durumunda yeni transaction başlatılıp başlatılmayacağı, mevcut transaction varsa bundan devam edilip edilmeyeceğinin belirlenmesine transaction propagation adı verilir. Bubölümde Spring'in transaction propagation kurallarını ve iç içe servis metot çağrılarında transaction'ların propagation kurallarını ile birlikte nasıl ele alındıklarını inceleyeceğiz.

Transaction Propagation Kuralları
06:59

Salt sorgu içerikli servis metotlarındaki yürütülen transaction'ı veri erişim teknolojisine göre optimize etmek mümkündür. Bu bölümde Spring'in readonly transaction kabiliyetini ve nerelerde kullanılabileceğini öğreneceğiz.

Readonly Transaction Yönetimi
02:08

PetClinic projesindeki servis bean'inin metotlarının transaction ayarlarını nasıl değiştirebileceğimizi öğreneceğiz.

Preview 03:21
+ Spring Boot ve Güvenlik
22 lectures 01:29:28

Spring Boot Spring Security üzerinden web uygulamasının kimliklendirme ve yetkilendirme ihtiyaçlarını karşılar. Bu bölümde Spring Boot uygulamasının güvenlik kabiliyetlerini nasıl devreye alacağımızı ve varsayılan güvenlik ayarlarını öğreneceğiz.

Spring Security’nin Aktivasyonu
02:56
PetClinic projesinde Spring Security'yi devreye alacağız.
Spring Security’nin Aktivasyonu (Uygulamalı)
03:57

Spring Boot, kurumsal web uygulaması için bir takım varsayılan güvenlik ayarlarını otomatik olarak devreye almaktadır. Bu ayarları uygulamaya göre özelleştirmek mümkündür. Bu bölümde varsayılan ayarları nasıl devre dışı bırakıp, uygulamaya özel güvenlik ayarları yapabileceğimizi öğreneceğiz.

Web Security Konfigürasyonunun Özelleştirilmesi
02:04

PetClinic projesinde varsayılan güvenlik ayarlarını devre dışı bırakıp, uygulamaya özel güvenlik ayarları yapmaya başlayacağız.

Web Security Konfigürasyonunun Özelleştirilmesi (Uygulamalı)
04:09

Spring Security'nin son sürümlerinde artık CSRF saldırılarının logout işlemlerini de etkileyebileceği ön görülerek, logout işlemlerinin HTTP POST metot vasıtası ile tetiklenmesi istenmektedir. Bu bölümde uygulama içerisinde logout kabiliyetinin bu duruma uygun biçimde nasıl kullanılabileceğini öğreneceğiz.

Logout Konfigürasyonu
02:02

PetClinic projesinde logout kabiliyetini HTTP POST üzerinden kullanacağız.

Logout Konfigürasyonu (Uygulamalı)
04:05

HTML form tabanlı kimliklendirmeyi nasıl devreye alacağımızı ve uygulamanın ihtiyaçlarına göre özelleştirebileceğimizi öğreneceğiz.

Form Tabanlı Kimliklendirme
04:18
PetClinic projesine özgü bir form login konfigürasyonu yapacağız.
Login Sayfasının Özelleştirilmesi
07:10

Bu bölümde form tabanlı kimliklendirmede beni hatırla kabiliyetinin nasıl çalıştığını ve uygulamamızda bu kabiliyeti nasıl devreye alacağımızı öğreneceğiz.

Beni Hatırla Kabiliyeti
02:26
PetClinic projesinde beni hatırla kabiliyetini devreye alacağız.
Beni Hatırla Kabiliyeti (Uygulamalı)
03:01

Browser authentication olarak da bilinen HTTP basic authentication Spring Boot tarafından da varsayılan kimliklendirme yöntemi olarak kullanılmaktadır. Bu bölümde kimliklendirme sürecini uygulamaya göre özelleştirirken basic authentication kabiliyetinin nasıl ayarlanabileceğini, uygulama içerisinde web kaynaklarının bir bölümünübasic authentication, diğer bir bölümünü de form authentication ile nasıl kimliklendirmeye tabi tutabileceğimizi öğreneceğiz.

HTTP Basic Authentication
03:46

PetClinic projesinde HTTP basic authentication kullanımını devreye alacağız, RESTful servislere erişimde RestTemplate üzerinden kullanıcı kimlik bilgilerini nasıl gönderebileceğimizi öğreneceğiz.

HTTP Basic Authentication Ayarları
03:32

Spring Boot H2 veritabanı kullanan uygulamalar için web-console desteği sunmaktadır. Bu bölümde H2 web console’un Spring Security konfigürasyonundan etkilenmeden nasıl erişilebilir kılınacağını öğreneceğiz.

H2 Console ve Güvenlik
01:40

PetClinic projesinde gerekli Spring Security güvenlik ayarlarını yaparak H2 web console'u erişilebilir kılacağız.

Preview 03:16

Spring Security kullanıcı bilgilerine erişmek için UserDetailsService soyutlamısını kullanır ve farklı user realm diye tabir edilen lokasyonlardan kullanıcı bilgilerini yüklemeyi sağlar. Spring Boot’da varsayılan durumda user isimli bir kullanıcı ile hafızadan çalışmaktadır. Bu bölümde kullanıcı ve rol bilgilerini veritabanında yönetmek için gerekli şema yapısını ve bu bilgilerin veritabanından nasıl yüklenebileceğini öğreneceğiz.

Kullanıcı Bilgilerinin Veritabanında Yönetilmesi
02:59

PetClinic projesinde kullanıcı ve rol bilgilerini veritabanında yönetmek için gerekli şema tanımlarını yapacağız, örnek veriyi oluşturacağız ve Spring Security'nin kullanıcı bilgilerini JDBC ile veritabanından elde etmesini sağlayacağız.

Kullanıcı Bilgilerinin Veritabanında Yönetilmesi (Uygulamalı)
07:21

Spring Security kullanıcı şifrelerinin user realm içerisinde kriptolu biçimde tutulması için SHA, MD5, bcrypt gibi farklı hashing algoritmaları ile çalışamayı desteklemektedir. Bu bölümde kriptolu şifrelerin nasıl oluşturulabileceğini ve kullanılacağını öğrenceğiz.

Kriptolu Şifre Kullanımı
03:28

PetClinic projesinde bcrypt kullanarak şifreleri kriptolu biçimde saklayacağız.

Kriptolu Şifre Kullanımı (Uygulamalı)
03:22

Hangi web kaynağına hangi rolde kullanıcının erişeceğinin denetlenmesi işlemine yetkilendirme adı verilir. Bu bölümde web kaynaklarının erişim yetkilerini nasıl tanımlayabileceğimizi ve yetkisiz erişim söz konusu olduğunda kullanıcıya gösterilen hata mesajı üzerinde duracağız.

Web Sayfalarının Yetkilendirilmesi
01:58

PetClinic projesinde farklı web sayfalarına farklı rollerde kullanıcıların erişmesini sağlayacağız.

Web Sayfalarının Yetkilendirilmesi (Uygulamalı)
03:30

Bu dersimizde REST API'deki NON-GET istekler için (POST, PUT, DELETE) CSRF korumasına takılmayan ayrı bir SecurityConfiguration yapılmasını örnekliyoruz.

REST API için Ayrı SecurityConfiguration
09:43
RestSecurityConfiguration Bug Fix
08:45
+ Spring Boot ve Birim Testler
11 lectures 53:44

Spring TestContext Framework olarak da bilenen Spring’in test modülünün entegrasyon ve birim testleri yazmak ve çalıştırmak için ne tür kabiliyetler sağladığını ve Spring Boot içerisinde test kabiliyetlerini nasıl devreye aldığımızı ve entegrasyon birim testlerini nasıl yazıp çalıştıracağımızı öğreneceğiz.

Spring Test Modülünün Özellikleri
05:40

Entegrasyon testlerinin çalıştırılması sırasından ApplicationContext’in tekrar tekrar yaratılması testlerin çalışma sürelerini çok uzatmaktadır. Spring Test modülü test sınıflarında yaratılan ApplicationContext’i cache’leyerek testlerin daha hızlıçalışmasını sağlamaktadır. Bu bölümde Spring Test modülünün ApplicationContext cache kabiliyetinin özelliklerini, nasıl çalıştığını ve gerektiğinde ApplicationContext’in yaratılmasını nasıl tetikleyebilceğimizi öğreneceğiz.

ApplicationContext’in Cache’lenmesi ve Yeniden Yüklenmesi
02:20

Bu bölümde Spring’in entegrasyon testlerini sınıf veya metot düzeyinde platforma göre çalıştırmayı sağlayan kabiliyetini nasıl kullanacağımızı öğreneceğiz.

Entegrasyon Testlerini Ortama Göre Çalıştırmak
03:53

PetClinic örnek projemizde Spring test kabiliyetlerini devreye aldıktan sonra PetClinicService üzerinden Owner kayıtlarına erişmeyi test edeceğiz.

Preview 04:51

Spring MVC Controller metotlarını standalone ve web ortamında test ederken HTTP request, response, session gibi web katmanına ait nesnelerin test metotları içerisinde nasıl erişlebildiklerini öğreneceğiz.

Web MVC Katmanının Test Edilmesi
06:51

Daha önce REST kabiliyetlerini örneklemek için yazdığımız PetClinicRestControllerTests sınıfını Spring Boot'un test kabiliyetlerini kullanacakb içimde refactor edeceğiz.

PetClinicRestControllerTests Sınıfının Entegrasyon Birim Testine Dönüştürülmesi
05:19

Springin sunduğu MockMvc ve ilişkili yapıları kullanarak Controller metotlarını klasik JUnit birim testlerine tabi tutmayı öğreneceğiz.

MockMvc ve JUnit Birim Testleri
04:41

MockMvc ve ilişkili diğer yapıları kullanan bir entegrasyon birim testi yazarak, /owners request URI'na erişimi ve bu erişim sonucunda owners sayfasının model verisi ile dönüp dönmediğini test edeceğiz.

MockMvc ile Owners URI'ına Erişimin Test Edilmesi
06:56

Bu bölümde veri erişim stratejilerini test ettiğimiz test metotları içerisinde transaction yönetimini nasıl devreye ve Spring Test modülünün entegrasyon birim testlerinin birbirlerinin yaptığı değişikliklerden etkilenmemelerini nasıl sağladığını öğreneceğiz.

Entegrasyon Testlerini Transactional Yapmak
03:18

Testlerin transactional çalıştırılmasına paralel olarak JPA/Hibernate kullanan metotların test edilmesi sırasında veritabanındaki kısıtların doğru bir şekilde sınanıp sınanmadığından emin olabilmek için bu tür testlerin nasıl yazılması gerektiğini öğreneceğiz.

ORM ve False Positive
02:30

OwnerRepository ile Owner nesnesi oluşturup, persist etme işlemini transactional bir test yazarak gerçekleştireceğiz. Örnek üzerinde ayrıca false positive durumunu ve bunun önüne nasıl geçileceğini de örnekleyeceğiz.

OwnerRepository Üzerinden Transactional Entegrasyon Test Örneği
07:25
+ Spring Security ile Metot Düzeyinde Yetkilendirme Kabiliyeti
2 lectures 25:52

Bu bölümde Spring Boot içerisinde metot düzeyinde yetkilendirmeyi nasıl devreye alacağımızı, metot düzeyinde yetkilendirmede kullanılan @Secured, @PreAuthorize, @RolesAllowed gibi anotasyonları, bunları nasıl kullanacağımızı ve entegrasyon birim testleri üzerinden metot düzeyinde yetkilendirmenin nasıl test edilebileceğini öğreneceğiz.

Metot Düzeyinde Yetkilendirme Kabiliyeti
11:32

Bu dersimizde PetClinic projesinde Spring Security'nin metot düzeyinde yetkilendirme kabiliyetini devreye alarak, PetClinicService bean'inin findOwners metoduna erişim yetki kontrolüne tabi tutacağız. Ardından farklı test metotları ile bu metoda erişim durumlarını örnekleyeceğiz.

Servis Metotlarının Yetkilendirilmesi
14:20
+ Owner CRUD Senaryoları
5 lectures 31:59

Bu dersimizde yeni bir Owner kaydı yaratma işlemini örnekleyeceğiz. Owner kaydı yaratmak için mvc controller ve JSP sayfası geliştireceğiz.

Yeni Owner Ekleme Senaryosu
07:50

Bu dersimizde mevcut owner kayıtlarından herhangi birisini seçerek güncelleme işlemini örnekleyeceğiz. Bu işlem için bir mvc controller sınıfı ve JSP sayfası geliştireceğiz.

Mevcut Bir Owner Kaydını Güncelleme Senaryosu
06:44

Bu dersimizde mevcut owner kayıtlarından herhangi birisini seçerek silme işlemini gerçekleştireceğiz. Örnek sırasında silinecek owner kaydını görüntülediğimiz ve silme işlemini tetiklediğimiz bir JSP sayfası ve silme işlemini gerçekleştirdiğimiz bir mvc controller sınıfı implement edeceğiz.

Mevcut Bir Owner Kaydını Silme Senaryosu
05:18

Daha önceki derslerimizde geliştirdiğimiz owner yaratma ve güncelleme sayfalarına mvc validasyon kabiliyeti ekleyerek, form submit işlemi sonrasında otomatik olarak validasyon işleminin nasıl gerçekleştirileceğini ve validasyon hatalarının jsp sayfaları içerisinde nasıl görüntüleneceğini örnekleyeceğiz.

Owner Yaratma ve Güncelleme Senaryolarına Validasyon Kabiliyeti Eklenmesi
06:29

Owner yaratma, güncelleme ve silme işlemleri sonucu JSP sayfalarında nasıl mesaj görüntüleyebileceğimizi örnekleyeceğiz.

Owner Yaratma, Güncelleme ve Silme Senaryolarında Sonuç Mesajı Görüntüleme
05:38
Requirements
  • Java Programlama Dili ile uygulama geliştirme deneyimine sahip olmak
  • Uygulama Sunucuları, Servlet, JSP gibi Java EE teknolojileri hakkında temel bilgi sahibi olmak
  • HTTP protokolü, HTML gibi temel web kavramları hakkında bilgi sahibi olmak
Description

En güncel Spring Boot 2.0.0 sürümü üzerinden Spring, Spring Security, JDBC API, JPA/Hibernate, REST, Servlet, Filter, JSP ve diğer pek çok teknoloji ile hızlı biçimde çalışmaya başlayarak, ilk andan itibaren kurumsal web uygulama geliştirme deneyimi edineceksiniz. Bütün bu teknoloji ve frameworkleri tecrübe etmenin yanı sıra, kurumsal web uygulamalarında terich edilen katmanlı mimari yaklaşımı, Eclipse, Maven, JUnit gibi geliştirme ortamı araçları gibi konular üzerinde de pek çok konuyu pratik yaparak öğreniyor olacaksınız.

Who this course is for:
  • Kurumsal Java teknolojileri ile dinamik web uygulamaları geliştirmek isteyenler
  • Spring Application Framework'ü öğrenmek ve Spring dünyasına hızlı biçimde adapte olmak isteyenler
  • Spring, Spring Security, JPA/Hibernate gibi teknolojileri projelerinde daha verimli ve bilinçli kullanmak isteyenler