Spring scopeları nelerdir?

Spring scopeları nelerdir?

Spring framework, IOC (Inversion of Control) ve DI (Dependency Injection) prensipleri ile çalışır. Bu prensipleri kullanarak, Spring nesnelerinin yaşam döngüsünü yönetir ve işlem sırasında gerektiğinde ihtiyaç duyulan nesneleri sağlar. Bu amaçla, Spring'de farklı "scope" adı verilen kapsamlar tanımlanmıştır.

Spring framework'teki scope kavramları şunlardır:

  1. Singleton: Bu varsayılan kapsam türüdür. Singleton kapsamı, uygulamanın tek bir örneğini paylaşan bir nesne oluşturur. Bu nedenle, uygulama boyunca aynı nesne kullanılır.

  2. Prototype: Bu kapsam türü, her talep edildiğinde yeni bir nesne oluşturur. Prototype kapsamı, aynı nesneyi birden çok kez farklı özelliklerle kullanmak istediğimiz durumlarda kullanışlıdır.

  3. Request: Bu kapsam türü, bir HTTP isteği için bir nesne oluşturur ve sadece bu istek süresince kullanılabilir. Request kapsamı, örneğin HTTP isteklerinde kullanılan Spring MVC gibi web tabanlı uygulamalarda kullanışlıdır.

  4. Session: Bu kapsam türü, bir kullanıcı için bir nesne oluşturur ve bu kullanıcı için tüm istekler süresince kullanılabilir. Session kapsamı, web uygulamalarında kullanıcı durumlarını saklamak için kullanılır.

  5. Global session: Bu kapsam türü, tüm portlet istekleri arasında paylaşılan bir nesne oluşturur. Global session kapsamı, portlet tabanlı uygulamalarda kullanılır.

  6. Application: Bu kapsam türü, bir uygulama için tek bir nesne oluşturur ve uygulama yaşam döngüsü boyunca kullanılabilir. Application kapsamı, uygulama durumlarını saklamak için kullanılır.

  7. WebSocket: Bu kapsam türü, bir WebSocket bağlantısı için bir nesne oluşturur ve bağlantı süresince kullanılabilir. WebSocket kapsamı, WebSocket tabanlı uygulamalarda kullanılır.

Bu kapsamlar, Spring framework'ün IOC ve DI prensiplerine uygun olarak yönetilen nesnelerin hangi koşullarda ne kadar yaşayacağını belirler. Bu sayede, uygulama içindeki nesne kullanımı daha etkili ve verimli hale gelir.

Spring scopeları nelerdir?
Paylaş: