Spring at a Glance

429 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
429
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Spring at a Glance

  1. 1. Spring at a Glance von 10 http://blog.bambo.it
  2. 2. <ul><li>Andreas Baumgartner Dipl. Wirtschaftsinformatiker </li></ul><ul><li>Spring Projekte: </li></ul>Bambo IT-Consulting Lightweight Solutions
  3. 3. Agenda <ul><li>Geschichtlicher Hintergrund </li></ul><ul><li>Das Springframework </li></ul><ul><li>Dependency Injection </li></ul><ul><li>AOP (Aspekt Orientierte Programmierung) </li></ul><ul><li>Object/Relationales Mapping Support </li></ul><ul><li>Configuration Support </li></ul><ul><li>Remoting Support </li></ul>
  4. 4. Geschichtlicher Hintergrund <ul><li>2004 war EJB 2 am Ende </li></ul><ul><ul><li>Hohe Kopplung </li></ul></ul><ul><ul><li>Schlechte Wiederverwendbarkeit </li></ul></ul><ul><ul><li>Schlechte Wartbarkeit </li></ul></ul><ul><ul><li>Schlechte Testbarkeit </li></ul></ul><ul><ul><li>Hohe Netzwerkbelastung </li></ul></ul><ul><li>Spring war geboren </li></ul><ul><ul><li>Buch: J2EE without EJB by Rod Johnson </li></ul></ul>
  5. 5. Das Springframework <ul><ul><li>Lose Kopplung durch Dependency Injection </li></ul></ul><ul><ul><li>Hohe Wiederverwendbarkeit durch POJOs </li></ul></ul><ul><ul><li>Gute Wartbarkeit durch AOP (Transaktionssteuerung, Loggin, Security) </li></ul></ul><ul><ul><li>Einfach testbar durch „mocken“ von losen Schichten </li></ul></ul><ul><ul><li>Niedrige Netzwerkbelastung durch HttpInvoker (RMI over HTTP) </li></ul></ul>
  6. 6. Dependency Injection I <ul><ul><li>Injizieren von Abhängigkeiten </li></ul></ul>
  7. 7. Dependency Injection II <ul><ul><li>Lose Kopplung durch Verwendung einer Konfiguration anstatt des „new“-Operators </li></ul></ul><ul><ul><li>Konfiguration austauschbar; je nach Context </li></ul></ul><ul><ul><li>Ohne Container läuffähig; POJOs „wissen“ nichts von Spring </li></ul></ul><ul><ul><li>Testbar durch injizieren von MockObjekten </li></ul></ul>
  8. 8. AOP mit Spring <ul><ul><li>Deklarative Konfiguration von Querschnittsbelangen (Transaktion, Security, usw.) mittels AOP </li></ul></ul>
  9. 9. ORM Support <ul><ul><li>Transaktionssupport siehe AOP-Beispiel </li></ul></ul><ul><ul><li>DaoSupport und „OR-Template“ für JPA, Hibernate, EclipseLink... </li></ul></ul>
  10. 10. Configuration Support <ul><ul><li>Konfiguration des Spring-Contextes via Property-Files </li></ul></ul>
  11. 11. Spring Remoting <ul><ul><li>Simple Remoting via HttpInvoker </li></ul></ul><ul><ul><li>Authentication due to HTTP </li></ul></ul><ul><ul><li>Support for JAX-WS, Xfire, RMI... </li></ul></ul><ul><ul><li>For complex Messaging see „Spring Integration“ </li></ul></ul><ul><ul><li>Simple Remoting via HttpInvoker </li></ul></ul><ul><ul><li>Authentication due to HTTP </li></ul></ul><ul><ul><li>Support for JAX-WS, Xfire, RMI... </li></ul></ul><ul><ul><li>For complex Messaging see „Spring Integration“ </li></ul></ul>
  12. 12. Weitere Spring Module <ul><ul><li>Spring MVC </li></ul></ul><ul><ul><li>Spring Security </li></ul></ul><ul><ul><li>Spring Web Flow </li></ul></ul><ul><ul><li>Spring Batch </li></ul></ul><ul><ul><li>Spring Dynamic Modules for OSGi Service Platforms </li></ul></ul><ul><ul><li>Spring Integration </li></ul></ul><ul><ul><li>Spring LDAP </li></ul></ul><ul><ul><li>... </li></ul></ul>

×