SlideShare a Scribd company logo
Spring MVC
Introduction




               Spring MVC
peter.maas@finalist.com ☄ maas-frensch.com/peter/




Peter Maas ~ Works at Finalist IT
Group. 70% Developer, 20%
Architect and 10% CTO Board.
Techniques used daily include Java/
JEE, Spring, Hiber nate, JSP.
Passionate about scripting language
for the JVM like Groovy and JRuby.




                                             Spring MVC
Introduction to Spring MVC & Web Flow




                      Spring MVC
Spring




Spring ~ A Layered Java/JEE
application framework. The most
complete lightweight container,
providing centralized, automated
configuration and wiring of your
application objects.




                                   Spring MVC
Why Spring (I)


Key reasons

To provide a non-invasive programming model. As far as
possible, application code should be decoupled from the
framework.

To provide a superior solution to in-house infrastructure,
so that developers can focus on delivering business value
rather than solving generic problems.

To make developing enterprise applications as simple as
possible, but enhancing, rather than sacrificing, power.



                                                     Spring MVC
Why Spring (II)




Spring MVC
Spring basics




<bean id=quot;myRespositoryquot; class=quot;com.finalist.MyRepositoryImplquot;/>
<bean id=quot;myServicequot; class=quot;com.finalist.MyServiceImplquot;>
 <property name=quot;maxResultsquot; value=quot;10quot;/>
 <property name=quot;myRespositoryquot; ref=quot;myRespositoryquot;/>
</bean>

Equals

myRepository = new MyRepositoryImpl();
myService = new MyServiceImpl();

myService.setMyRepository(myRepository);
myService.setMaxResults(10);




                                                           Spring MVC
Spring basics (II)




<bean id=quot;myRespositoryquot; class=quot;com.finalist.MyRepositoryImplquot;/>
<bean id=quot;myServicequot; class=quot;com.finalist.MyServiceImplquot;>
 <constructor-arg index=quot;0quot; value=quot;10quot;/>
 <constructor-arg index=quot;1quot; ref=quot;myRespositoryquot;/>
</bean>

Equals

myRepository = new MyRepositoryImpl();
myService = new MyServiceImpl(10, myRepository);




                                                           Spring MVC
Demo I




Demo I ~ Basics of Spring




                            Spring MVC
Typical SpringMVC Architecture


Spring MVC territory




                                                      Business logic
                       User Interface



                           Web
             Domain
                                                  Connections to exernal
              Model
                                                   systems (database,
                         Services
                                                      webservices)



                        Integration




                                                         Spring MVC
MVC




                   Controller


        request



                                Model


Actor
        response

                     View




                                        Spring MVC
Controller




Controller ~ Controllers interpret
user input and transform such input
into a sensible model which will be
represented to the user by the view.




                                       Spring MVC
Controller Interface




                                                           If you find yourself
                                                            implementing the
                                                           controller interface
                                                          you're probable doing
public interface Controller {                              stuff the hard way!

    /**
     * Process the request and return a
     * ModelAndView object which the DispatcherServlet
     * will render.
     */
    ModelAndView handleRequest(
        HttpServletRequest request,
        HttpServletResponse response) throws Exception;

}




                                                                              Spring MVC
Controllers



                                       «interface»
                                                         UrlFilenameViewController
                                       Controller




ParameterizableViewController                               MultiActionController
                                   AbstractController




                                BaseCommandController    AbstractCommandController




    SimpleFormController        AbstractFormController   AbstractWizardFormController




                                                                          Spring MVC
Model




Model ~ The domain-specific
representation of the information on
which the application operates.
List<SearchResult> results =
  new ArrayList<SearchResult>();

model.addObject(quot;searchResultsquot;, results);

List<SearchResult> r =
 (List<SearchResult>)model.get(quot;searchResultsquot;);




                                                   Spring MVC
View




View ~ Renders the model into a
for m suitable for interaction,
typically a user interface element.
Multiple views can exist for a single
model for different purposes.




                                        Spring MVC
Views
                        view




                                         RedirectView           JstlView
AbstractExcelView    AbstractView




                                      InternalResourceView      TilesView   TilesJstlView
AbstractPDFView
                     AbstractUrlB
                      asedView



                                                                  ...
AbstractJExcelView                  AbstractJasperReportsView




                                                                  ...
AbstractExcelView                     AbstractTemplateView




 AbstractXsltView




                                                                               Spring MVC
Handlers




Handlers ~ map incoming web requests to appropriate handlers.
<bean id=quot;handlerMappingquot;
    class=quot;org.springframework.web.servlet.handler.BeanNameUrlHandlerMappingquot; />

or

<bean id=quot;urlMappingquot;
  class=quot;org.springframework.web.servlet.handler.SimpleUrlHandlerMappingquot;>
  <property name=quot;urlMapquot;>
    <map>
       <entry key=quot;/helloquot; value-ref=quot;helloworldControllerquot; />
    </map>
  </property>
</bean>




                                                                                   Spring MVC
Demo II




Demo II ~ Putting it all to work,
making a simple quot;Hello Worldquot;
Spring MVC application.




                                    Spring MVC
Demo II ~ Classpath essentials

spring-webmvc.jar
commons-logging.jar
logkit.jar
spring-beans.jar
spring-context.jar
aopalliance.jar
spring-core.jar
spring-support.jar
spring-web.jar
log4j.jar



                                 Spring MVC
More to come ~ Complex forms,
Binding, Validation, Interceptors,
Inter nationalisation, Webflow,
Ajax ...




                                     Spring MVC
internet




                                                   Firewall &
                                                   Loadbalancer



                                     Multicast / RMI Cache replication

                                Application servers (web)      Backoffice &
                                                                cron jobs             REST (https)           internet


                 REST (https)


signon.vpro.nl
                 SOAP (http)

                                                                                                             belbios
                                                                              XML
                                                        JDBC
                                         JDBC                      LDAP

                                    Database cluster               Active           NFS                 3rd party systems
                                                                  Directory                             (NEBO/DONNA)

  MMBase
                                                                                                 scp




                                                                                                     Spring MVC

More Related Content

What's hot

Signal Framework
Signal FrameworkSignal Framework
Signal Framework
Aurora Softworks
 
Intro to iOS Application Architecture
Intro to iOS Application ArchitectureIntro to iOS Application Architecture
Intro to iOS Application Architecture
Make School
 
Lecture java basics
Lecture   java basicsLecture   java basics
Lecture java basics
eleksdev
 
Spring Web MVC
Spring Web MVCSpring Web MVC
Spring Web MVC
zeeshanhanif
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
Hamid Ghorbani
 
Spring Portlet MVC
Spring Portlet MVCSpring Portlet MVC
Spring Portlet MVC
John Lewis
 
Java Server Faces + Spring MVC Framework
Java Server Faces + Spring MVC FrameworkJava Server Faces + Spring MVC Framework
Java Server Faces + Spring MVC Framework
Guo Albert
 
Spring MVC 3.0 Framework
Spring MVC 3.0 FrameworkSpring MVC 3.0 Framework
Angular js architecture (v1.4.8)
Angular js architecture (v1.4.8)Angular js architecture (v1.4.8)
Angular js architecture (v1.4.8)
Gabi Costel Lapusneanu
 
Front end development with Angular JS
Front end development with Angular JSFront end development with Angular JS
Front end development with Angular JS
Bipin
 
Spring MVC
Spring MVCSpring MVC
Spring MVC
Aaron Schram
 
Developing for the GeoWeb: Notes From The Field Dev Summit 2009
Developing for the GeoWeb: Notes From The Field Dev Summit 2009Developing for the GeoWeb: Notes From The Field Dev Summit 2009
Developing for the GeoWeb: Notes From The Field Dev Summit 2009
Dave Bouwman
 
Spring Framework Tutorial | VirtualNuggets
Spring Framework Tutorial | VirtualNuggetsSpring Framework Tutorial | VirtualNuggets
Spring Framework Tutorial | VirtualNuggets
Virtual Nuggets
 
Spring MVC Architecture Tutorial
Spring MVC Architecture TutorialSpring MVC Architecture Tutorial
Spring MVC Architecture Tutorial
Java Success Point
 
Spring MVC Basics
Spring MVC BasicsSpring MVC Basics
Spring MVC Basics
Bozhidar Bozhanov
 
Встреча №9. Будущее паттерна MVVM в iOS приложениях, Денис Лебедев
Встреча №9. Будущее паттерна MVVM в iOS приложениях, Денис ЛебедевВстреча №9. Будущее паттерна MVVM в iOS приложениях, Денис Лебедев
Встреча №9. Будущее паттерна MVVM в iOS приложениях, Денис Лебедев
CocoaHeads
 
Massively Scalable Applications - TechFerry
Massively Scalable Applications - TechFerryMassively Scalable Applications - TechFerry
Massively Scalable Applications - TechFerry
TechFerry
 
Spring framework-tutorial
Spring framework-tutorialSpring framework-tutorial
Spring framework-tutorial
vinayiqbusiness
 
Play framework
Play frameworkPlay framework
Play framework
sambaochung
 
MV(C, mvvm) in iOS and ReactiveCocoa
MV(C, mvvm) in iOS and ReactiveCocoaMV(C, mvvm) in iOS and ReactiveCocoa
MV(C, mvvm) in iOS and ReactiveCocoa
Yi-Shou Chen
 

What's hot (20)

Signal Framework
Signal FrameworkSignal Framework
Signal Framework
 
Intro to iOS Application Architecture
Intro to iOS Application ArchitectureIntro to iOS Application Architecture
Intro to iOS Application Architecture
 
Lecture java basics
Lecture   java basicsLecture   java basics
Lecture java basics
 
Spring Web MVC
Spring Web MVCSpring Web MVC
Spring Web MVC
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
 
Spring Portlet MVC
Spring Portlet MVCSpring Portlet MVC
Spring Portlet MVC
 
Java Server Faces + Spring MVC Framework
Java Server Faces + Spring MVC FrameworkJava Server Faces + Spring MVC Framework
Java Server Faces + Spring MVC Framework
 
Spring MVC 3.0 Framework
Spring MVC 3.0 FrameworkSpring MVC 3.0 Framework
Spring MVC 3.0 Framework
 
Angular js architecture (v1.4.8)
Angular js architecture (v1.4.8)Angular js architecture (v1.4.8)
Angular js architecture (v1.4.8)
 
Front end development with Angular JS
Front end development with Angular JSFront end development with Angular JS
Front end development with Angular JS
 
Spring MVC
Spring MVCSpring MVC
Spring MVC
 
Developing for the GeoWeb: Notes From The Field Dev Summit 2009
Developing for the GeoWeb: Notes From The Field Dev Summit 2009Developing for the GeoWeb: Notes From The Field Dev Summit 2009
Developing for the GeoWeb: Notes From The Field Dev Summit 2009
 
Spring Framework Tutorial | VirtualNuggets
Spring Framework Tutorial | VirtualNuggetsSpring Framework Tutorial | VirtualNuggets
Spring Framework Tutorial | VirtualNuggets
 
Spring MVC Architecture Tutorial
Spring MVC Architecture TutorialSpring MVC Architecture Tutorial
Spring MVC Architecture Tutorial
 
Spring MVC Basics
Spring MVC BasicsSpring MVC Basics
Spring MVC Basics
 
Встреча №9. Будущее паттерна MVVM в iOS приложениях, Денис Лебедев
Встреча №9. Будущее паттерна MVVM в iOS приложениях, Денис ЛебедевВстреча №9. Будущее паттерна MVVM в iOS приложениях, Денис Лебедев
Встреча №9. Будущее паттерна MVVM в iOS приложениях, Денис Лебедев
 
Massively Scalable Applications - TechFerry
Massively Scalable Applications - TechFerryMassively Scalable Applications - TechFerry
Massively Scalable Applications - TechFerry
 
Spring framework-tutorial
Spring framework-tutorialSpring framework-tutorial
Spring framework-tutorial
 
Play framework
Play frameworkPlay framework
Play framework
 
MV(C, mvvm) in iOS and ReactiveCocoa
MV(C, mvvm) in iOS and ReactiveCocoaMV(C, mvvm) in iOS and ReactiveCocoa
MV(C, mvvm) in iOS and ReactiveCocoa
 

Similar to Spring MVC introduction HVA

Jinal desai .net
Jinal desai .netJinal desai .net
Jinal desai .net
rohitkumar1987in
 
ASP.NET MVC as the next step in web development
ASP.NET MVC as the next step in web developmentASP.NET MVC as the next step in web development
ASP.NET MVC as the next step in web development
Volodymyr Voytyshyn
 
Multi Client Development with Spring
Multi Client Development with SpringMulti Client Development with Spring
Multi Client Development with Spring
Joshua Long
 
Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5
Tuna Tore
 
springmvc-150923124312-lva1-app6892
springmvc-150923124312-lva1-app6892springmvc-150923124312-lva1-app6892
springmvc-150923124312-lva1-app6892
Tuna Tore
 
NIG 系統開發指引
NIG 系統開發指引NIG 系統開發指引
NIG 系統開發指引
Guo Albert
 
quickguide-einnovator-7-spring-mvc
quickguide-einnovator-7-spring-mvcquickguide-einnovator-7-spring-mvc
quickguide-einnovator-7-spring-mvc
jorgesimao71
 
Spring mvc 2.0
Spring mvc 2.0Spring mvc 2.0
Spring mvc 2.0
Rudra Garnaik, PMI-ACP®
 
MVC & backbone.js
MVC & backbone.jsMVC & backbone.js
MVC & backbone.js
Mohammed Arif
 
Introducing spring
Introducing springIntroducing spring
Introducing spring
Ernesto Hernández Rodríguez
 
Asp.net mvc
Asp.net mvcAsp.net mvc
Asp.net mvc
Phuc Le Cong
 
Java Web Programming [6/9] : MVC
Java Web Programming [6/9] : MVCJava Web Programming [6/9] : MVC
Java Web Programming [6/9] : MVC
IMC Institute
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
Harshit Choudhary
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
nagarajupatangay
 
Spring MVC framework features and concepts
Spring MVC framework features and conceptsSpring MVC framework features and concepts
Spring MVC framework features and concepts
AsmaShaikh478737
 
MVC
MVCMVC
MVC
akshin
 
Unit 07: Design Patterns and Frameworks (3/3)
Unit 07: Design Patterns and Frameworks (3/3)Unit 07: Design Patterns and Frameworks (3/3)
Unit 07: Design Patterns and Frameworks (3/3)
DSBW 2011/2002 - Carles Farré - Barcelona Tech
 
Multi client Development with Spring
Multi client Development with SpringMulti client Development with Spring
Multi client Development with Spring
Joshua Long
 
Give your web apps some backbone
Give your web apps some backboneGive your web apps some backbone
Give your web apps some backbone
RTigger
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
Pravin Pundge
 

Similar to Spring MVC introduction HVA (20)

Jinal desai .net
Jinal desai .netJinal desai .net
Jinal desai .net
 
ASP.NET MVC as the next step in web development
ASP.NET MVC as the next step in web developmentASP.NET MVC as the next step in web development
ASP.NET MVC as the next step in web development
 
Multi Client Development with Spring
Multi Client Development with SpringMulti Client Development with Spring
Multi Client Development with Spring
 
Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5
 
springmvc-150923124312-lva1-app6892
springmvc-150923124312-lva1-app6892springmvc-150923124312-lva1-app6892
springmvc-150923124312-lva1-app6892
 
NIG 系統開發指引
NIG 系統開發指引NIG 系統開發指引
NIG 系統開發指引
 
quickguide-einnovator-7-spring-mvc
quickguide-einnovator-7-spring-mvcquickguide-einnovator-7-spring-mvc
quickguide-einnovator-7-spring-mvc
 
Spring mvc 2.0
Spring mvc 2.0Spring mvc 2.0
Spring mvc 2.0
 
MVC & backbone.js
MVC & backbone.jsMVC & backbone.js
MVC & backbone.js
 
Introducing spring
Introducing springIntroducing spring
Introducing spring
 
Asp.net mvc
Asp.net mvcAsp.net mvc
Asp.net mvc
 
Java Web Programming [6/9] : MVC
Java Web Programming [6/9] : MVCJava Web Programming [6/9] : MVC
Java Web Programming [6/9] : MVC
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
 
Spring MVC framework features and concepts
Spring MVC framework features and conceptsSpring MVC framework features and concepts
Spring MVC framework features and concepts
 
MVC
MVCMVC
MVC
 
Unit 07: Design Patterns and Frameworks (3/3)
Unit 07: Design Patterns and Frameworks (3/3)Unit 07: Design Patterns and Frameworks (3/3)
Unit 07: Design Patterns and Frameworks (3/3)
 
Multi client Development with Spring
Multi client Development with SpringMulti client Development with Spring
Multi client Development with Spring
 
Give your web apps some backbone
Give your web apps some backboneGive your web apps some backbone
Give your web apps some backbone
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
 

Recently uploaded

9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
saastr
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
Ajin Abraham
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Neo4j
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
Neo4j
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Precisely
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
AstuteBusiness
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
Miro Wengner
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
Jason Yip
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
Edge AI and Vision Alliance
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
Fwdays
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
Pablo Gómez Abajo
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 

Recently uploaded (20)

Artificial Intelligence and Electronic Warfare
Artificial Intelligence and Electronic WarfareArtificial Intelligence and Electronic Warfare
Artificial Intelligence and Electronic Warfare
 
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 

Spring MVC introduction HVA

  • 2. peter.maas@finalist.com ☄ maas-frensch.com/peter/ Peter Maas ~ Works at Finalist IT Group. 70% Developer, 20% Architect and 10% CTO Board. Techniques used daily include Java/ JEE, Spring, Hiber nate, JSP. Passionate about scripting language for the JVM like Groovy and JRuby. Spring MVC
  • 3. Introduction to Spring MVC & Web Flow Spring MVC
  • 4. Spring Spring ~ A Layered Java/JEE application framework. The most complete lightweight container, providing centralized, automated configuration and wiring of your application objects. Spring MVC
  • 5. Why Spring (I) Key reasons To provide a non-invasive programming model. As far as possible, application code should be decoupled from the framework. To provide a superior solution to in-house infrastructure, so that developers can focus on delivering business value rather than solving generic problems. To make developing enterprise applications as simple as possible, but enhancing, rather than sacrificing, power. Spring MVC
  • 7. Spring basics <bean id=quot;myRespositoryquot; class=quot;com.finalist.MyRepositoryImplquot;/> <bean id=quot;myServicequot; class=quot;com.finalist.MyServiceImplquot;> <property name=quot;maxResultsquot; value=quot;10quot;/> <property name=quot;myRespositoryquot; ref=quot;myRespositoryquot;/> </bean> Equals myRepository = new MyRepositoryImpl(); myService = new MyServiceImpl(); myService.setMyRepository(myRepository); myService.setMaxResults(10); Spring MVC
  • 8. Spring basics (II) <bean id=quot;myRespositoryquot; class=quot;com.finalist.MyRepositoryImplquot;/> <bean id=quot;myServicequot; class=quot;com.finalist.MyServiceImplquot;> <constructor-arg index=quot;0quot; value=quot;10quot;/> <constructor-arg index=quot;1quot; ref=quot;myRespositoryquot;/> </bean> Equals myRepository = new MyRepositoryImpl(); myService = new MyServiceImpl(10, myRepository); Spring MVC
  • 9. Demo I Demo I ~ Basics of Spring Spring MVC
  • 10. Typical SpringMVC Architecture Spring MVC territory Business logic User Interface Web Domain Connections to exernal Model systems (database, Services webservices) Integration Spring MVC
  • 11. MVC Controller request Model Actor response View Spring MVC
  • 12. Controller Controller ~ Controllers interpret user input and transform such input into a sensible model which will be represented to the user by the view. Spring MVC
  • 13. Controller Interface If you find yourself implementing the controller interface you're probable doing public interface Controller { stuff the hard way! /** * Process the request and return a * ModelAndView object which the DispatcherServlet * will render. */ ModelAndView handleRequest( HttpServletRequest request, HttpServletResponse response) throws Exception; } Spring MVC
  • 14. Controllers «interface» UrlFilenameViewController Controller ParameterizableViewController MultiActionController AbstractController BaseCommandController AbstractCommandController SimpleFormController AbstractFormController AbstractWizardFormController Spring MVC
  • 15. Model Model ~ The domain-specific representation of the information on which the application operates. List<SearchResult> results = new ArrayList<SearchResult>(); model.addObject(quot;searchResultsquot;, results); List<SearchResult> r = (List<SearchResult>)model.get(quot;searchResultsquot;); Spring MVC
  • 16. View View ~ Renders the model into a for m suitable for interaction, typically a user interface element. Multiple views can exist for a single model for different purposes. Spring MVC
  • 17. Views view RedirectView JstlView AbstractExcelView AbstractView InternalResourceView TilesView TilesJstlView AbstractPDFView AbstractUrlB asedView ... AbstractJExcelView AbstractJasperReportsView ... AbstractExcelView AbstractTemplateView AbstractXsltView Spring MVC
  • 18. Handlers Handlers ~ map incoming web requests to appropriate handlers. <bean id=quot;handlerMappingquot; class=quot;org.springframework.web.servlet.handler.BeanNameUrlHandlerMappingquot; /> or <bean id=quot;urlMappingquot; class=quot;org.springframework.web.servlet.handler.SimpleUrlHandlerMappingquot;> <property name=quot;urlMapquot;> <map> <entry key=quot;/helloquot; value-ref=quot;helloworldControllerquot; /> </map> </property> </bean> Spring MVC
  • 19. Demo II Demo II ~ Putting it all to work, making a simple quot;Hello Worldquot; Spring MVC application. Spring MVC
  • 20. Demo II ~ Classpath essentials spring-webmvc.jar commons-logging.jar logkit.jar spring-beans.jar spring-context.jar aopalliance.jar spring-core.jar spring-support.jar spring-web.jar log4j.jar Spring MVC
  • 21. More to come ~ Complex forms, Binding, Validation, Interceptors, Inter nationalisation, Webflow, Ajax ... Spring MVC
  • 22. internet Firewall & Loadbalancer Multicast / RMI Cache replication Application servers (web) Backoffice & cron jobs REST (https) internet REST (https) signon.vpro.nl SOAP (http) belbios XML JDBC JDBC LDAP Database cluster Active NFS 3rd party systems Directory (NEBO/DONNA) MMBase scp Spring MVC