Kayıtlar

Spring Ders20 - Aspect Oriented Programming - AspectJ Annotation Style

Resim
   Spring frameworkünde AspectJ anotasyon stilinin kullanımı old stile göre kontrol edilmesi ve kullanılması kolaydır. Spring anotasyon stilindeki anotasyonlar @Aspect                 : Aspect sınıfı tanımlar. @Pointcut              : Kesme noktası tanımlar. @Before                 : Before advice tanımlar. Metot çağrılmadan önce çalışır. @After                   : After advice tanımlar. Metot çağrıldıktan sonra çalışır. @AfterReturning  :  AfterReturning advice tanımlar. Metot return ettikten sonra çalışır. @Around               : Around advice tanımlar. Metot çağrılmadan önce ve sonra çalışır. @AfterThrowing  : AfterThrowing advice tanımlar. Metot istisna (exception) attıktan sonra çalışır. Poincut kavramı @Pointcut(“execution (* Test.*(..))”) private void metot1(){..} Test sınıfındaki tüm metotlara pointcut ismi olarak metot1 metodu uygulanacağı anlamını taşır. @Pointcut(“execution (public * *(..))”) private void metot1(){..} Tüm

Spring Ders19 - Aspect Oriented Programming - Old Style

Resim
Aspect Oriented Programming'in Old Style'i 4 tip advice destekler. Before Advice    :  Metot çağrısından önce çalışır. After Advice      : Metot çağrısından sonra çalışır. Around Advice  : Metot çağrısından önce ve sonra çalışır. Throw Advice    : Metot exception (istisna) attığında çalışır. Bunlarla ilgili şimdi 4 ayrı program yapalım. Before Advice Metot çağrısından önce çalışır. Main.java package test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Main { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext( "applicationContext.xml" ); A a=(A)context. getBean ( "proxy" ); a. mesaj (); } } A.java package test; public class A { public void mesaj() { System. out . println ( "Merhaba" ); } } Once.java package test; import java.lang.

Spring Ders18 - Aspect Oriented Programming (Yönlü Programlama)

   Aspect Oriented Progragramming (Yönlü Programlama) ; loglama,işlem yönetimi ve hata yönetimi için kullanılır. Koda basitçe eklenebilir ve de çıkartılabilir. Yaptığı iş ise, standart koddaki metotlar çalışmadan önce veya sonra belli bir işlemi gerçekleştirmektir. Spring AOP'nin 3 tipi vardır. Bunlar Spring 1.2 nin desteklediği dtd tabanlı eski stil (old style). AspectJ anotasyonlu stil. Xml yapılandırma dosyası üzerinde yapılan şema tabanlı stil (shema based).

Spring Ders17 - Database ( Veritabanı ) - NamedParameterJdbcTemplate

Resim
   NamedParameterJdbcTemplate sınıfı (class), veritabanına verileri parametreler ile eklemeyi sağlayan bir arayüzdür. Diğer arayüzlerde parametre yerine soru işareti (?) kullanılıyordu ve argüman gönderirken hangi kolonda hangi verinin olduğunu bilmemiz gerekiyordu. Burada ise direkt olarak ilgili kolonu belirterek veriyi gönderebiliyoruz.  NamedParameterJdbcTemplate sınıfında kullanılan execute metodunun imzası (signature) aşağıda verilmiştir. pubic T execute(String sql,Map map,PreparedStatementCallback psc); Şimdi örnek programımızı yapalım . Main.java package test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Main { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext( "applicationContext.xml" ); BilgiIslem bilgici = (BilgiIslem) context. getBean ( "bilgiislem" ); Per

Spring Ders16 - Database ( Veritabanı ) - RowMapper

Resim
   RowMapper arayüzü (interface), ResultSetExtractor arayüzünde olduğu gibi JdbcTemplate sınıfının query metoduyla veritabanından verileri çekmeye yarayan bir arayüzdür. query metodunun imzası (signatur) aşağıdaki gibidir. public T query(String sql,RowMapper<T> rm)     RowMapper arayüzünün  ResultSetExtractor arayüzüne göre avantajı ResultSet verilerinin dahili bir şekilde yer almasıdır. Böylece daha az koda ihtiyaç duyar. Şimdi örnek programımızı yapalım. Main.java package test; import java.util.List; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Main { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext( "applicationContext.xml" ); BilgiIslem bilgici = (BilgiIslem) context. getBean ( "bilgiislem" ); List <Personel> list = bilgici. getPersoneller ();