ieee day 2013 baku - spring framework overview and spring mvc
Post on 25-Jan-2015
1.081 Views
Preview:
DESCRIPTION
TRANSCRIPT
IEEE Day 2013
Ilkin AshrafliInternal Applications team DeveloperAzercell Telecom LLC
http://www.linkedin.com/in/ilkinesreflihttps://www.facebook.com/ilkin.esrefli
01 October 2013, Qafqaz University
Spring Framework overview and Spring MVC
me
Graduated from Applied Mathematics of Baku State UniversityJava, Java EE, PL/SQL DeveloperInternal Applications team developer at Azercell Telecom LLC
04/10/232
outline
Spring frameworkInversion of Control(IoC)Spring framework and JEESpring MVCSome statisticsSurvey? {}
04/10/233
SPRING FRAMEWORK
04/10/234
what is spring framework?
04/10/235
what is spring framework?
First version Released in 2003 by Rod JohnsonJava Enterprise application framework for easy and quick developmentOpen sourceUsing PojoMost popular application development framework for enterprise java
04/10/236
what is spring framework?
LightweightInversion of control (IOC)Aspect oriented (AOP)MVC FrameworkJDBC Exception Handling
04/10/237
why use spring framework?
ModularTestableAdaptive to change
04/10/238
why use spring framework?
ProvenPower of IoC, wiring components (JavaBeans) through DependencyEasy testEasy use other frameworksInsulates a user of a functionality from implementation detailsHides unnecessary exceptions
04/10/239
spring framework architecture
04/10/2310
solutions
Modern web (rest, html5, ajax)Data access (rdbms, nosql, mapreduce, cloud)Integration (messaging, batch applications)Mobile (android, ios)Social network (facebook twitter linkedin)Security (authentication and authorization)Cloud ready (google app engine, amazon ec2, cloud foundry)
04/10/2311
solutions
Spring frameworkSpring frameworkSpring BatchSpring IntegrationSpring SecuritySpring Web ServiceSpring DataSpring Hadoop
Spring MobileSpring SocialSpring Web FlowSpring BlazeDSSpring RooSpring .NETSpring PythonGrails etc.
04/10/2312
INVERSION OF CONTROL(DEPENDENCY INJECTION) - IOC
04/10/2313
inversion of control - IoC
Hollywood principle
Don’t call me, I’ll call youDon’t call me, I’ll call you
04/10/2314
inversion of control - IoC
IoC – is a common characteristic of frameworks.Inversion of Control serves as a design guidelineAccording to Martin Fowler the etymology of the phrase dates back to 1988
04/10/2315
inversion of control - IoC
In OO Design, components/objects are desired to be reusableHowever, components depends with one another to deliver the solutionSuch dependencies among components results the tight coupling
04/10/2316
inversion of control - IoC
Component dependency resolutionAmong ComponentsWithin Component
Configuration managementLifecycle management
04/10/2317
inversion of control - IoC
Apache AvalonApache HivemineDagger (for Android and Java)Google Guice
Butterfly DI DSLNano ContainerPico ContainerSilk DI
Spring FrameworkSpring Framework
04/10/2318
inversion of control - IoC
Java EE: EJB and EJB ContainerSpring: POJO and POJO ContainerSpring vs Java EE – LightweightObject CreationObject LookupObject Life Cycle Management
04/10/2319
inversion of control - IoC
04/10/2320
inversion of control - IoC
04/10/2321
inversion of control - IoC
04/10/2322
inversion of control - IoC
04/10/2323
inversion of control - IoC
04/10/2324
SPRING FRAMEWORK AND JEE
04/10/2325
spring framework and jee
It’s hard to say whish is the best
04/10/2326
spring framework and jee
Spring
Spring is framework and single vendor solutionsHas made tremendous contributions to the development communitySupports for almost any web container
Jee
JEE is standardJava Community Process Program - Java Specification Request(JSR)JEE needs application server(glassfish, jboss, weblogic etc.)
04/10/2327
spring framework and jee
Spring
Have a look at the job postings in Monster or Dice. A very large proportion of Java jobs require Spring experienceThere has been a lot of innovation lately in the cloud space
Jee
Java finally woke up and responded with Java EE 6JEE, JSF 2.0 is more critical. Java badly needs a modern MVC framework
04/10/2328
spring framework and jee
04/10/2329
spring framework and jee
04/10/2330
spring framework and jee
04/10/2331
SPRING MVC
04/10/2332
spring mvc
Comes with Spring distributionWell integrated with the rest of SpringVery extensible
04/10/2333
spring mvc
MVC for Java Web Application
Model : Java POJOView : JSP pagesController : Java Servlet
MVC for Spring
Model : Java MapView : Pluggable view technology(JSP, tiles, velocity etc)Controller : Spring controller classes
04/10/2334
spring mvc
04/10/2335
spring mvc
04/10/2336
spring mvc
04/10/2337
spring mvc
04/10/2338
spring mvc
04/10/2339
spring mvc
04/10/2340
spring mvc
04/10/2341
spring mvc
04/10/2342
spring mvc
04/10/2343
spring mvc
04/10/2344
spring mvc
Spring MVC provide a clear separation between a model, view and ControllerProvide both XML-based and annotation-based approachesEnriched by Spring application contextTakes convention over configuration approachUses open-close principle
04/10/2345
spring ide
04/10/2346
spring ide
SpringSource Tool Suite (STS) http://spring.io/tools/stsEclipse-powered development environment for building Spring-powered enterprise applications Supports Java, Spring, Groovy and Grails Comes with developer edition of vFabric tc Server vFabric tc Server is Tomcat that is optimized for Spring
04/10/2347
SOME STATISTICS
04/10/2348
some statistics
04/10/2349
some statistics
InfoQ Research– Top 20 Web Frameworks for the JVM (2012)– http://www.infoq.com/research/jvm-web-frameworks
04/10/2350
some statistics
04/10/2351
some statistics
Raible Designs – JVM Web framework matrix– http://bit.ly/jvm-frameworks-matrix
04/10/2352
some statistics
04/10/2353
references
Spring – www.spring.io Inversion of Control - http://www.martinfowler.com/articles/injection.htmlJava Development With Spring Framework – Johnson, Hoeller et al.Spring in Action – Walls, Breidenbach
04/10/2354
books
04/10/2355
? ?
04/10/2357
Thanks !!
top related