https://twitter.com/farukbozan 19 Şubat 2016 Cuma



Benzer belgeler
Spring Framework Eğitimi

Üst Düzey Programlama

/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/

2. Bölüm Spring İle Tanışalım

.com. Özcan Acar 2009 Kurumsal Java.com

YAZILIM ÜRÜN HATTI DEĞĐŞKENLĐĞĐNĐN DENETĐM ÇEVRĐMĐ ĐLE ELE ALINMASI

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Üst Düzey Programlama

Sunum İçeriği. Programlamaya Giriş

Css Stillerinin Nesneyi Etkileme Yolları Ve Sırası, Diez, Nokta, Yıldız, Class Css De Neyi İfade Eder.

Spring Framework Eğitimi

Lab7 DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI. BTEP212 Java. Uygulama1: package javaapplication58;

Proje 1. Arayüz Tasarımı

Android Ders Notları

Üst Düzey Programlama

BİL BİLGİSAYAR PROGRAMLAMA (JAVA)

Facade (Cephe) Tasarım Şablonu KurumsalJava.com

Öğr. Gör. Serkan AKSU 1

SHOP INGENICO DOKUMANI

Burak Kıymaz JAVA FX

BTEP243 Ders 3. class Yazım Kuralı:

Spring Giriş Eğitimi

JSF Melih Sakarya. Java Server Faces Facelet

ASP.NET ile Bir Web Sitesi Oluşturma

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi

Microsoft Office Access Ders İçeriği 25 Saat. Access Temel 10 saat

Lecture 11: Generics

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

ÜNİTE ÜNİTE MICROSOFT POWER POINT - I TEMEL BİLGİ TEKNOLOJİLERİ İÇİNDEKİLER HEDEFLER

BİL-142 Bilgisayar Programlama II

abstract Sınıflar 1 Sınıf sınıf1 new class Ama aşağıdaki şekilde referans alınabilir;

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

Liquibase ile Veri Tabanı Değişiklik Yönetimi

YZM 2105 Nesneye Yönelik Programlama

NovaFortis Yazılım Danışmanlık. E-dönüşüm adaptörü

DITA ile Uygulama Belgeleri Hazırlamak

PERKON PDKS Kurulum ve hızlı başlangıç rehberi

Gerekli bağlantıları yapıp, ACS420 V3.03 programını çalıştırınız. Program açıldığında, LMS14 ün içindeki parametrelerin okunmasını bekleyiniz.

3. Bölüm Soyut Sınıflar (Abstract Classes) Java ile Nesne Merkezli ve Fonksiyonel Programlama Akın Kaldıroğlu

ECLIPSE PROGRAMININ ÇALIŞTIRILMASI

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

ANA SINIF TÜRETİLEN BİRİNCİ SINIF TÜRETİLEN İKİNCİ SINIF

Nesne Yönelimli Programlama

Intercepting Filter Tasarım Şablonu KurumsalJava.com

Arayüz soyut metotların oluşturduğu bir koleksyondur. Bir sınıf arayüzü çalıştırırken arayüzün sahip olduğu soyut metotları da miras alır.

Üst Düzey Programlama

Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır.

Java EE web uygulamaları geliştirmek için kullanılan açık kaynak web uygulama framework üdür.

SMS İŞLEMLERİ MODÜLÜ

Paket Erişimleri. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 1

public static int Toplam int x, int y

Java EE 5 Teknolojileri Jboss Seam

Görsel Programlama DERS 04. Görsel Programlama - Ders04/ 1

Geliştirme Klavuzu İlk Uygulama Hello World

ile LOGO Ticari Yazılım Entegrasyon Kullanım Kılavuzu

IdeaSoft E-Ticaret ile LOGO Ticari Yazılım Entegrasyon Kullanım Kılavuzu

MOBİL UYGULAMA GELİŞTİRME

İçindekiler. Okuma lisansı info acar, için verilmiştir. Çoğaltılması ve dağıtılması yasaktır.

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism )

Listview Kullanımı. Aşağıdaki örnekte bir ListView'ı birkaç ülke ismiyle dolduracağız.

Java Class Yapısında Finalize Metotunun Kullanımı

Erişim konusunda iki taraf vardır:

Üst Düzey Programlama

2.Eclipse açıldıktan sonra Workspace alanı seçilmesi gerekir. Workspace alanı projelerinizin fiziksel olarak bulunduğu kısımdır.

DataExchangeService Tanım

3. Metin ve Görünüm Etiketleri

Temel Bilgisayar Programlama

Spring Security Framework Harezmi Bilişim Çözümleri

02 Temmuz İlgili Versiyon/lar: ETA:SQL, ETA:V.8-SQL. İlgili Modül/ler: Muhasebe IV

Programlama Dillerinde Kullanılan Veri Tipleri

WebInstaller. 1. Kurulum Đçin Gereksinimler

MVC Kul anıcı Doğrulama ve Yetkilendirme MVC Filtreler Action Filter FilterAttribute IActionFilter FilterAttribute IActionFilter

CSS(CASCADING STYLE SHEETS)

Model-Tabanlı ve Rastgele Karma Yöntem

Java Dersi. Altuğ Bilgin Altıntaş

BMH-303 Nesneye Yönelik Programlama

Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2

Bölüm 24. Java Ağ Uygulamaları 24.1 Java Appletleri. Bir Applet in Yaşam Döngüsü:

İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ

Karma C/C + + Kodlama

XML ile Mesaj İşlemleri

Görsel Programlama DERS 01. Görsel Programlama - Ders01/ 1

İsimler ve Kapsam. Hafta 4 Ders 2 BLG339 PROGRAMLAMA DİLLERİ KAVRAMI

Yazılım Kodlama ve İ simlendirme Standartları v1.0

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 1. Bölüm C# Programlamaya Giriş

JAVA RMI ve Hibernate teknolojileri kullanılarak çok amaçlı bir yazılım altyapısı hazırlanması

BİLGİSAYAR PROGRAMLARININ TASARIMLARINDAKİ VE KODLARINDAKİ SORUNLARIN BELİRLENMESİ ALPER FİLİZ MEHMET ALİ SERT

Java Programlamaya Giriş


Java da, tüm değişkenlerin kullanılmadan önce tanımlanması edilmesi gerekir. Bir değişken tanımlamanın temel gösterimi bu şekildedir:

TÜİK e-vt. Web Servis Kılavuzu

İsimler ve Kapsam. 24 Şubat Programlama Dilleri - Pamukkale Üniversitesi 1

Python Web 2.0 Python ve Web 2.0 Son. Python ve Web 2.0. Gökmen GÖKSEL, 3 Mayıs 2007

Sınıflar ve Yapılar Arasındaki Farklılıklar. Değer ve Referans Türde Olan Aktarımlar

Üst Düzey Programlama

YZM 2105 Nesneye Yönelik Programlama

Derece Yazılım - PARALOG Ticari Programları Forum Sitesi

Balon & Banka Teslim tarihi: 17 Kasım 2008

MOBİL UYGULAMA GELİŞTİRME

ÇĐZĐM STĐLĐ ŞABLONU. taliasoft donatıpro kullanım kitapçığı. DONATIPRO // BETONARME DONATI DETAY ÇĐZĐM ve METRAJ YAZILIMI

Transkript:

Bugünkü yazımda çok basit ve temel anlamda Spring ile XML tanım tabanlı bean okuma işlemini anlatmaya çalışacağım. Spring framework bizim yerimize nesnelerin birbirine olan bağımlılıklarını düzenleyip, oluşturup, bize hazır nesneler sunmaktadır. İlk olarak çok basit bir log arayüzü ve sınıfımız var. Log sınıfımızdan tüm uygulama boyunca sadece ve sadece bir nesne oluşturulmasını istiyoruz. Böylece tüm uygulama boyunca aynı referans kullanılacaktır. Tasarım şablonları ile aşina olanlarımız bunun bir singleton şablonu olduğunu anlayacaktır. Aslında Spring frameworke ihtiyaç duymadan bu işi kendimiz de kodlayabiliriz; ama buradaki amacımız framework özelliklerini anlamak. Şunu da belirtmek isterim ki XML dosyasında ayrıca bir tanım yapmamışsanız tüm nesneler singleton olarak oluşturulur. Şimdi de prototype bir sınıf yazalım. Yani bean için her talebimizde Spring bize o sınıftan yeni bir nesne döndürecektir.

Aslında çok da işlevi olmayan bir sınıf; ama Spring in bazı yeteneklerini göstermek adına başlangıç için ideal olduğunu düşünüyorum. Şimdi de uygulama sırasında okunması için vereceğimiz ve bean tanımlarının olduğu XML dosyası. <bean id="singletonbean" class="anajavatica.spring.bean.xml.springsysoutloggerimpl" scope="singleton" /> Olayın büyük bir kısmı bean tagi içerisinde yer alıyor. İd tagi ile o bean için erişilebilir bir ad veriliyor ve kod tarafında çekmek istediğimizde bu id kullanılacaktır. Class ise hangi sınıftan nesne oluşturulmak istendiğini belirtir. Package adı ile beraber yazıldığına dikkat etmemiz lazım. Scope ise ilk kısımda değindiğim nesnenin geçerlilik alanını belirtmektedir. Bu bean bizim için tekil olacaktır ve tüm uygulama boyunca aynı nesne kullanılacaktır. Başka bir nesne daha oluşturulmayacaktır. <bean id="prototypebeanwithmethod" class="anajavatica.spring.bean.xml.prototypebean" init-method="initialize" destroy-method="clear" scope="prototype"> <property name="springlogger" ref="singletonbean" /> </bean> Yeni bir bean tanımı daha karşımıza çıkıyor. Burada ek olarak bazı özellikler daha var. İnitmethod ile bu metodun otomatik çağrılması sağlanacaktır ve böylece nesnemiz başlangıç değerlerini alacaktır. Bu metot ismi tamamen size kalmış. Destroy-method ile de nesne kullanımı bittikten sonra neler yapılacağı belirtiliyor. Örneğin veritabanı bağlantısı kapatmak, kaynakları serbest bırakmak, çıkış işlemi yapmak gibi. Bu bean için scope değerimiz prototype, yani bu bean için her talep geldiğinde Spring bize yeni bir tane nesne new edip sunacaktır.

Son olarak sınıf içerisinde var olan springlogger alanına daha önceden tanımladığımız diğer bean örneğini otomatik bağlayacaktır. <bean id="prototypebeanwithconstructor" class="anajavatica.spring.bean.xml.prototypebean" init-method="initialize" destroy-method="clear" scope="prototype"> <constructor-arg> <ref bean="singletonbean" /> </constructor-arg> <constructor-arg name="info" value="prototype Bean Info" /> <property name="numberlist"> <list> <value>10</value> <value>20</value> <value>30</value> </list> </property> <property name="numbermap"> <map> <entry key="one" value="1" /> <entry key="two" value="2" /> <entry key="three" value="3" /> </map> </property> </bean> Constructor-arg ile constructor için parametre değerleri dışarıdan gönderilmiş olunur. Bunları name ile atayabildiğimiz gibi index veya id değerleri ile de atayabiliriz. Daha sonra List ve Map türündeki alanları dışarıdan değerler göndererek dolduruyoruz. Bu tür property set etme işlemlerini veritabanı bağlantı bilgileri sağlama, tercihleri değiştirmek gibi işlemlerde kullanabiliriz. Son olarak da main sınıfı. Önce springbean.xml dosyasını vererek gerekli ayarların ve tanımların okunmasını sağlıyoruz. Sonra da sırası ile prototype ve singleton nesnelerimizi çağırıp çeşitli işlemler yapıyoruz. Bu main sınıfının çalışması sonucunda oluşan çıktı şuna benzeyecektir.

Gördüğünüz gibi prototype nesneler her defasında farklı bir referans ile karşımıza çıkarken, singleton nesneler hep aynı referans ile karşımıza çıkıyorlar. Yani tek bir nesne oluşuturulmuş olunuyor. Bol Java lı günler dileğiyle