Transcript
Page 1: Annotation Driven Portlet Development with Spring

Annotation Driven Portlet Development w/Spring

Andy Pemberton,

Page 2: Annotation Driven Portlet Development with Spring

Agenda

• Spring Portlet MVC 2.5

• Annotations

• Goodies

• Real World

• Demo

• Coming Soon

Page 3: Annotation Driven Portlet Development with Spring

Spring Portlet MVC

• Design Pattern

• Model View Controller

• Front Controller

Page 4: Annotation Driven Portlet Development with Spring

Spring Portlet MVC

• JSR 168 - Portlet 1

• JSR 286 - Portlet 2

• Two Phase

• CapTech State Pattern

Page 5: Annotation Driven Portlet Development with Spring

Spring Portlet MVC

• Dependency Injection

• applicationContext.xml

• *-portlet.xml

Page 6: Annotation Driven Portlet Development with Spring

Spring Portlet MVC

• Web MVC > Portlet MVC

• Flexible ViewResolver

• Binding

• i18n

Page 7: Annotation Driven Portlet Development with Spring

Old School

Page 8: Annotation Driven Portlet Development with Spring

Old School

• Improvement, but...

• Pre-Java 5 constructs

• “Programming in XML”

Page 9: Annotation Driven Portlet Development with Spring

New School

Page 10: Annotation Driven Portlet Development with Spring

Spring Portlet Annotations

• Web

• @Controller

• @RequestMapping

• @ModelAttribute

• DI

• @Component, @Service

Page 11: Annotation Driven Portlet Development with Spring

Other Spring Goodies

• Flexible method signatures

• Spring portlet filters

• Form and error tags

• <component-scan />

Page 12: Annotation Driven Portlet Development with Spring

springmodules

• Spring integration framework

• Validation, JCR, Cache

• https://springmodules.dev.java.net/

Page 13: Annotation Driven Portlet Development with Spring
Page 14: Annotation Driven Portlet Development with Spring

Real World

• Challenges: 168 IPC, learning curve

• Leverage existing conventions

• Method signature standards

• EAR-wide applicationContext

Page 15: Annotation Driven Portlet Development with Spring

Coming Soon...

• Tooling

• Eclipse (IBM RAD)

• JSR286, Spring 3

• Bleeding Edge

• Seam portlets, JSR301, Guice


Top Related