dirk burkholz my project overview motivation
play

Dirk Burkholz My project Overview & Motivation Core principles - PowerPoint PPT Presentation

Dirk Burkholz My project Overview & Motivation Core principles and techniques Spotlight on one technique Further features Conclusion Dirk Burkholz - The Spring Framework 14.01.2009 for Java and .NET 2 GLOBUS


  1. Dirk Burkholz

  2.  My project  Overview & Motivation  Core principles and techniques  Spotlight on one technique  Further features  Conclusion Dirk Burkholz - The Spring Framework 14.01.2009 for Java and .NET 2

  3.  GLOBUS group, hypermarkets  Spring for Java in use for several J2EE projects  Launch of software-aided business process management based on .NET  Project: Evaluation if the knowledge and experience about Spring for Java can easily be transferred to projects in C#.NET using Spring.NET  Sample project using some core features of Spring Dirk Burkholz - The Spring Framework 14.01.2009 for Java and .NET 3

  4.  Core Principles  Inversion of Control (IoC)  Dependency Injection (DI)  Aspect Oriented Programming (AOP)  Further features  Template-based database access (DAO support)  Webservices  … Dirk Burkholz - The Spring Framework 14.01.2009 for Java and .NET 4

  5.  Rod Johnson, J2EE consultant, found some drawbacks in J2EE design  He collected best practices to avoid this drawbacks in his book „Expert One -on-one J2EE Design and Development“ in 2002; a very basic framework was already included  Now: Spring Framework for Java 2.5 in 2007  Mark Pollack‘s first .NET port in 2003  Now: Spring.NET 1.2 in 2008 Dirk Burkholz - The Spring Framework 14.01.2009 for Java and .NET 5

  6.  Responsibility to instatiate new objects not by the using object but by the IoC container  Coding against interfaces and superclasses, not implementations  Uses Dependency Injection  XML-based context describing managed objects, their properties and dependencies to other managed objects Dirk Burkholz - The Spring Framework 14.01.2009 for Java and .NET 6

  7. <bean id =„student1“ class =„Student“> <property name =„ studentid “ value =„42“ /> … </bean> … <bean id =„university0“ class =„University“> <property name =„ bestStudent “ ref =„student1“ /> … </bean> Dirk Burkholz - The Spring Framework 14.01.2009 for Java and .NET 7

  8.  Injecting dependencies of managed objects by the IoC container instead of instatiating dependent objects by new ObjectType()  Spring uses  Setter Injection: matching properties by name  String property xy – setXy(String s)  Constructor Injection: matching constructur arguments by order and type  Object obj, int argument i – new obj(i) Dirk Burkholz - The Spring Framework 14.01.2009 for Java and .NET 8

  9.  Crosscutting concerns are requirements orthogonal to the software design/ decomposition, e.g. logging  Joinpoints are points in the program flow, Pointcuts select a subset of them  Advices add the desired functionality at the joinpoints selected by pointcuts  Spring supports Before-, Around-, After-, AfterException and AfterReturning Advices Dirk Burkholz - The Spring Framework 14.01.2009 for Java and .NET 9

  10.  Drawbacks to classic AOP (e.g. AspectJ)  Advising managed objects only  Advising public methods only  No advices for advised methods  Advices are singletons  Access to method invocation: arguments, return value, thrown exception  Possibility to check, change or omit return values Dirk Burkholz - The Spring Framework 14.01.2009 for Java and .NET 10

  11. SPRING JAVA SPRING.NET  AspectJ-like  J2SE dynamic proxies to  Full advising of advice interfaces interfaces only  CGlib2 proxies to  Advising virtual advice classes methods of classes only  Annotation-based syntax possible Dirk Burkholz - The Spring Framework 14.01.2009 for Java and .NET 11

  12.  Central concept: Template  Capsules and manages connection to data source  Provides methods mapping result sets to more generic collections/types  Provides many helper methods  Translates vendor- specific exceptions to Spring‘s generic DataAccessException hierarchy (using SQLExceptionTranslator) Dirk Burkholz - The Spring Framework 14.01.2009 for Java and .NET 12

  13. SPRING JAVA SPRING.NET  DataSource  DbProvider  JdbcTemplate  AdoTemplate  Mapping to Map/List  Mapping to DataSet queryForMap()/List DataSetCreateWithParams()  Statement parameters  Statement parameters by object array by IDbParameters  queryForObject() and  ExecuteScalar() only specialized methods Dirk Burkholz - The Spring Framework 14.01.2009 for Java and .NET 13

  14.  Goal: Webservice support easier than with J2EE/ASP.NET  Using webservice proxies  Testing scenario:  Cut between DataProvider and Factory  Connections via webservice  Java – Java  .NET – .NET  Java - .NET  .NET – Java Dirk Burkholz - The Spring Framework 14.01.2009 for Java and .NET 14

  15.  Core principles are the same except for Java/.NET core technology differences  Spring for Java developers can easily apply their knowledge when developing Spring.NET applications  Some differences in details, especially naming  Developers can easily overcome this by using code completion and looking up the reference’s section Spring.NET for Java developers  Spring for Java has more features than Spring.NET  Core features are already well supported, so certain features are only missing for special cases  More features: Web MVC, Security, Validation, … Dirk Burkholz - The Spring Framework 14.01.2009 for Java and .NET 15

  16.  The Spring Framework - Reference Documentation: http://static.springframework.org/spring/docs/2 .5.x/reference/index.html  The Spring.NET Framework – Reference Documentation: http://www.springframework.net/docs/1.2.0/ref erence/html/index.html  Rod Johnson. Expert One-on-one J2EE Design and Development (Programmer to Programmer). Wiley & Sons 2003. ISBN: 978-0764543852 Dirk Burkholz - The Spring Framework 14.01.2009 for Java and .NET 16

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend