Kayıtlar

spring etiketine sahip yayınlar gösteriliyor

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 ();

Spring Ders15 - Database ( Veritabanı ) - ResultSetExtractor

Resim
   ResultSetExtractor arayüzünin (interface) query metodu ile veritabanından bilgiler çekilebilir. query metodunun signatürü (imzası) aşağıdaki gibidir. public T query(String sorgu, ResultSetExtractor<T> rse);  Bununla ilgili bir örnek 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 (); System. out . println ( "ID\tAD\tMAAS\n" ); for (Personel p:list){ System. out . println (p. getId ()+ "\t" +p. getAd ()+ "\t" +p. getMaas ()); } } } Personel.java pac

Spring Ders14 - Database ( Veritabanı ) - PreparedStatement

Resim
   PreparedStatement ( Hazırlanmış Bildiri) ile JdbcTemplate şablonu üzerinde parametrelendirmiş sorguyu execute() metodu ile çalıştırabiliriz. Aşağıda bu metodun signatürü (imzası) verilmiştir. public T execute(String sorgu, PreparedStatementCallback<T>); Veritabanına veri kaydetme işlemi yapan bir program 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" ); Personel p1 = new Personel( 1 , "enes" , 9999 ); bilgici. kaydet (p1); } } Personel.java package test; public class Personel { private int id; private int maas; private String ad; public Perso

Spring Ders13 - Database ( Veritabanı ) - JdbcTemplate

Resim
   Spring frameworkü veri tabanında işlemler yapmayı kolaylaştıran bir frameworktür. Gereksiz ve uzun kodlardan kurtulmanızı sağlar.    Spring JDBC Şablonları • Fine-grained seviyesindeki şablonlar – JdbcTemplate – NamedParameterJdbcTemplate • Coarse-grained seviyesinde şablonlar – SimpleJdbcTemplate – SimpleJdbcInsert – SimpleJdbcCall • SQL nesneleri – SqlUpdate – MappingSqlQuery Veritabanı işlemleri yapabilmek için standart .jar dosyalarına ek olarak sahip olunması gereken .jar dosyaları spring-jdbc.jar spring-tx.jar Programlama Aşamaları  applicationContext.xml dosyasında veritabanına erişim bilgilerini içeren DriverManageDataSource beani oluşturulur. <bean id="ds" class="org.springframework.jdbc.datasource.DriverManagerDataSource">    <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />    <property name="url" value="jdbc:oracle:thin:@lo

Spring Ders12 - Referencing Beans

Resim
   Bir bean diğer beane referans olarak verilebileceğini daha önceki derslerde göstermiştik. Bu derste referanslama işleminin tüm farklı şekillerini göstereceğiz. Bir beani diğer beane Inner bean referanslama yaklaşımıyla, Genel bean referanslama yaklaşımıyla, Local bean referanslama yaklaşımıyla, Bean identifier (tanımlayıcı) referanslama yaklaşımıyla local ve genel olarak yapılabilir. Inner Bean Referanslama Yaklaşımı Bir beane isimsiz bir bean setter metodu veya constructor metodu yardımıyla referans olarak verilebilir. <bean id="..." class="...">     <property name="...">             <bean  class="..."></bean>     </property> </bean> <bean id="..." class="...">     <constructor-arg>              <bean  class="..."></bean>     </constructor-arg> </bean> Genel Bean Referanslama Yaklaşımı

Spring Ders11 - Dependency Injection Alternatifleri | Annotation-Driven Autowiring

Resim
   Annotation-Driven Autowiring (Anotasyon Tabanlı Autowiring), autowiring yapısının başka bir modelidir. Bu yapıda bağımlılığın olacağı .xml dosyasında değil de direkt olarak java sınıflarında belirtilir. Ayrıca xml dosyasında isim uzaylarına context uzayı ve aşağıdaki ifade eklenmelidir. <context:annotation-config/>   Annotation-Driven Autowiring (Anotasyon Tabanlı Autowiring) ,. Değişkenlere, Metotlara, Constructor metotlara uygulanabilir. Tüm bunlar için sadece, @AutoWired anahtar kelimesi eklenmesi yeterlidir. Örnek olarak, Bir nesneye uygulanması public class B{    ...     @AutoWired     private A a;     ... } Bir metoda uygulanması public class B{    ...     private A a;      @AutoWired     public void setA(){         this.a=a;     }     ... } Bir constructora uygulanması public class B{    ...     private A a;