Bahar (çerçeve)

Bahar Çerçevesi

Bilgi
Tarafından geliştirildi Önemli Yazılım ( içinde )
İlk versiyon 25 Haziran 2003
Son sürüm 5.3.4 (16 Şubat 2021)
Depozito github.com/spring-projects/spring-framework
Yazılmış Java , Kotlin ve Groovy
Çevre Çapraz platform
Tür Web çerçevesi ( tr )
Framework
Java kitaplığı ( d )
Lisans Apache lisansı
İnternet sitesi spring.io/projects/spring-framework

Gelen BT , Bahar bir olan açık kaynak çerçevesi bir alt yapısını oluşturmak ve tanımlamak için Java uygulaması o kolaylaştırır, gelişimini ve test.

2004 yılında Rod Johnson , Bahar'ın yaratılmasının nedenlerini açıklayan Uzman Bire Bir J2EE Tasarım ve Geliştirme kitabını yazdı .

Hafif konteyner

Yay, sözde "hafif" bir kap olarak kabul edilir. Bu adlandırmanın nedeni Erik Gollot tarafından Bahar çerçevesine Giriş belgesinin girişinde açıklanmıştır .

"Spring" aslında "hafif" bir konteyner, yani bir J2EE uygulama sunucusuna benzer bir altyapıdır . Bu nedenle, üretilecek nesneleri ve bu nesneler arasındaki bağımlılık ilişkilerini tanımlayan bir yapılandırma dosyası aracılığıyla nesnelerin oluşturulmasını ve nesnelerin bağlanmasını destekler. Uygulama sunucularına göre en büyük avantajı, Spring ile sınıfların çerçeve tarafından desteklenecek herhangi bir arabirim uygulamasına gerek olmamasıdır ( J2EE uygulama sunucuları ve EJB'lerin aksine ). Bu anlamda Bahar, "hafif" bir kap olarak nitelendirilir. "

Bahar, temel olarak üç temel kavramın entegrasyonuna dayanmaktadır:

  1. Kontrolün inversiyon iki şekilde sağlanır: arama bağımlılık ve bağımlılık enjeksiyon  ;
  2. Yönü yönelimli programlama  ;
  3. Bir soyutlama katmanı.

Soyutlama katmanı, diğer çerçeveleri ve kitaplıkları entegre etmeyi kolaylaştırır . Bu, belirli çerçevelere özgü soyutlama katmanları sağlayarak veya eklemeyerek yapılır. Böylece e-postaları daha kolay göndermek için bir modül entegre etmek mümkündür.

Kontrolün inversiyon  :

  1. Bağımlılık araması: diğer nesnelerle olan bağımlılıklarını bulmak için konteyneri sorgulayan bir nesneden oluşur. Bu, EJB'lere benzer bir işlem durumudur;
  2. Bağımlılık Enjeksiyon  : Bu enjeksiyon üç olası yolla yapılabilir:
    • yapıcı aracılığıyla bağımlılık ekleme,
    • değiştiriciler (ayarlayıcılar) aracılığıyla bağımlılık enjeksiyonu,
    • bir arayüz aracılığıyla bağımlılık enjeksiyonu.

İlk ikisi Bahar tarafından en çok kullanılanlardır.

Bu çerçeve, soyutlama katmanı sayesinde, Model-View-Controller mimari modelinin belirli bir katmanındaki diğer çerçevelerle rekabet etmez, ancak tüm katmanların düzeyinde eklenebilen çok katmanlı bir çerçeve olduğu ortaya çıkar; model, görünüm ve denetleyici. Böylece kalıcılık katmanı için Hibernate veya iBATIS'i ve hatta sunum katmanı için Struts ve JavaServer Faces'ı entegre etmeye izin verir .

Bahar bileşimi

Çekirdek çekirdek

Baharın özü şunlara dayanır:

Dahası, Spring'in çekirdeği, kontrolü tersine çevirme adı verilen teknikle bu bileşenlerin kontrolünü dışardan zorlamayı mümkün kılar .

Ana avantaj, fasulyeleri zorunlu olarak programda değil, daha açıklayıcı bir şekilde oluşturmaktır. Fasulye, Java veya XML'deki yapılandırma dosyaları aracılığıyla tanımlanabilir .

Kullanım örneği

Aşağıdaki örnekte, iki singleton fasulye tanımlanmıştır. Birincisi, ürünler için bir veri erişim nesnesidir ve onu bir ürün yöneticisi olan ikinciye enjekte ederiz.

@Configuration public class AppConfig { @Bean public ClientService clientService(ClientDao clientDao) { ClientService clientService = new ClientServiceImpl(); clientService.setClientDao(clientDao); return clientService; } @Bean public ClientDao clientDao() { return new ClientDaoImpl(); } }

Örneğin, bir arama sırasında, Spring konteynerinden veri erişim nesnesini kullanacak ürün yöneticisini sağlaması istenecektir.

Tamamlayıcılar

Çeşitli Spring Framework modülleri, aşağıdakiler dahil olmak üzere diğer kitaplıklar ve çerçevelerle entegrasyona izin vermek için temel çekirdeği tamamlar:

Notlar ve referanslar

  1. https://src.springsource.org/svn/spring-maintenance/tags/release-1-0/changelog.txt
  2. Sürüm 5.3.4  " ,16 Şubat 2021( 27 Şubat 2021'de erişildi )
  3. Resmi Belgeler, "  Bahar Çerçevesine Giriş  "
  4. Bire Bir J2EE Tasarım ve Geliştirme Uzmanı , Rod Johnson, Juergen Holler ( ISBN  978-0-7645-4385-2 )
  5. ego.developpez.com/spring

Ayrıca görün

İlgili Makaleler

Kaynakça

  • Uygulama yoluyla Bahar Julien Dubois, Jean-Philippe Retaillé Thierry Templier, Eyrolles 2006, 517 s ile., ( ISBN  2212117108 )
  • Örnek olarak bahar Gary Mak, PEARSSON, 2008, 492 s., ( ISBN  2744023396 )

Dış bağlantılar