18
Özcan Acar © 2009 Kurumsal Java.com .com

Spring Mvc

Embed Size (px)

DESCRIPTION

Elazığ Fırat Üniversitesinde 21.3.2009 da düzenlenen Yazılım Mimarisi Tasarımı Günü‘ne konuşmacı olarak katıldım ve Spring MVC isimli bu sunumu yaptim.

Citation preview

Page 1: Spring Mvc

Özcan Acar © 2009 Kurumsal Java.com

.com

Page 2: Spring Mvc

Spring MVCÖzcan Acar

[email protected]://www.ozcanacar.com

http://www.kurumsaljava.com

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Page 3: Spring Mvc

Özcan Acar Hakkındapublic class OezcanAcar{

public static void main(String[] args) {

Acar oezcan = new Acar();oezcan.setBirthday("18.07.1974");oezcan.setBirthplace("Izmir");oezcan.setJob("Bilgisayar Mühendisi");

oezcan.setPassion("Java EE");}

}© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Page 4: Spring Mvc

Özcan Acar Hakkında

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Page 5: Spring Mvc

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Tasarım şablonu nedir?

Interface / Abstract sınıf nedir?

Oluşturucu Tasarım Şablonları

Factory, Abstract Factory, Builder, Prototype,

Singleton

Yapısal Tasarım Şablonları

Adapter, Bridge, Facade, Decorator, Composite, Flyweight, Proxy

Davranışsal Tasarım Şablonları

Command, Memento, Strategy, Iterator, State, Observer, Visitor

Java Tasarım Şablonları ve Yazılım Mimarileri

Page 6: Spring Mvc

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Çevik süreç nedir?

Çevik manifesto

Extreme Programming nedir?

XP değerleri ve prensipleri

Çevik proje planlaması

Çevik süreçlerde iletişim

Çevik tasarım

Sürekli entegrasyon

Test güdümlü yazılım

Yazılım metrikleri

Extreme Programming

Page 7: Spring Mvc

Sunumun İçeriğiMVC Tasarım Şablonu

Spring Framework

Spring Dependency Injection

Spring Annotations

Spring ile web programcılığı

Spring MVC

Spring MVC Demo

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Page 8: Spring Mvc

MVC Tasarım Şablonu

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

FrontController

ControllerModel

Model Model nesnesini oluşturma

İsteği yönlendirme

Gelenrequest

Gönderilenresponse

HTML çıktısıView

Page 9: Spring Mvc

Spring Framework

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Page 10: Spring Mvc

Spring Framework

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Page 11: Spring Mvc

Spring Framework

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

<bean id="accountDao" class="com.kurumsaljava.demo.dao.AccountDaoImpl"> <property name="dataSource" value="datasource" /></bean><bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="org.hsqldb.jdbcDriver" /> <property name="url" value="jdbc:hsqldb:hsql://localhost:9006/student" /> <property name="username" value="sa" /> <property name="password" value="" /></bean>

XML konfigürasyonu

Page 12: Spring Mvc

Spring Annotation

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

@Component- Sinifin komponent oldugunu gösterir

@Controller- Spring MVC icinde controller siniflari icin kullanilir

@Repository- Spring MVC icinde controller siniflari icin kullanilir

@Service- Isletme katmanindaki facade siniflari icin kullanilir.

@Autowired- Bir bagimliligin otomatik enjekte edilmesini saglar.

Page 13: Spring Mvc

Spring İle Web Programcılığı

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Spring MVC

Spring Web Flow

Spring Javascript

Spring Faces

Spring Portlet

Page 14: Spring Mvc

Spring MVC

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Spring framework‘ünün web modülü.

Spring IOC container ile entegre ve DI kullanımı

Gösterim katmanı için JSP, Excel, PDF, Freemarker, Velocity kullanılabilir

Test güdümlü çalışmayı mümkün kılar

Basit programlama modeli, ögrenimi kolay

Annotation kullanımı

Validation ve Data Binding framework

Tag Library

Page 15: Spring Mvc

Spring MVC

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

DispatcherServlet

ControllerCommand

Command Model nesnesini oluşturma

İsteği yönlendirme

Gelenrequest

Gönderilenresponse

HTML çıktısıView

Page 16: Spring Mvc

Spring MVC Annotation

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

@Controller- Spring MVC içinde controller sınıfları için kullanılır

@RequestMapping- Controller sınıfı metotları ile kullanıcı isteğini (request) ilişkilendirir

@RequestParam- Bir metot parametresini request içinde bulunan bir değere eşitler

@SessionAttributes- Controller sınıflarınca kullanılan session değerlerini belirler

Page 17: Spring Mvc

Spring MVC Örnegi

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Page 18: Spring Mvc

Spring MVC Örnegi

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Kod örneği:

http://www.kurumsaljava.com/2009/03/23/yazilim-mimarisi-tasarimi-gunu-2/