spring 3
play

Spring 3 Spring without XML Agenda Industry Forces Whats New - PowerPoint PPT Presentation

Spring 3 Spring without XML Agenda Industry Forces Whats New Spring 2.0 Spring 2.5 Spring Annotations Reducing Spring XML Spring Without XML! Industry Forces Annotations EJB 3.X JSR-250 Common


  1. Spring 3 Spring without XML

  2. Agenda  Industry Forces  What’s New – Spring 2.0 – Spring 2.5  Spring Annotations  Reducing Spring XML  Spring Without XML!

  3. Industry Forces  Annotations – EJB 3.X – JSR-250 Common Annotations – JSR-299 Web Beans  Guice / SEAM

  4. Spring Frustrations  Autowiring – Qualifiers  Long XML Files  Required Injections

  5. Tired of XML?

  6. @

  7. Industry Move to Annotations

  8. Commons Annotation @Resource @PreDestroy @PostConstruct

  9. EJB Annotation Commons @Resource @PreDestroy @PostConstruct

  10. @Home EJB Annotation Commons @SecurityRoles @Init @Resource @EJB @PreDestroy @MessageDriven @PostConstruct @MethodPermissions @Stateful @Interceptor @Inject @RunAs @Stateless @TransactionManagement @TransactionAttribute

  11. JPA Annotation Commons @Resource @PreDestroy @PostConstruct EJB @Home @RunAs @EJB @MethodPermissions @MessageDriven @Init @Interceptor @Stateful @TransactionManagement @Inject @TransactionAttribute @Stateless @SecurityRoles

  12. @Column JPA Annotation @JoinColumn @GeneratedValue Commons @Entity @Resource @PreDestroy @Table @PostConstruct @Version @Serialized EJB @Home @RunAs @OneToMany @EJB @MethodPermissions @MessageDriven @Init @OneToOne @Id @ManyToMany @Interceptor @Stateful @ManyToOne @TransactionManagement @Inject @AssociationTable @TransactionAttribute @Stateless @EmbeddedId @DisciminatorColumn @SecurityRoles @Transient

  13. JPA Annotation JPA Commons @Table @ManyToMany @Entity @Resource @Column @GeneratedValue @DisciminatorColumn @PreDestroy @OneToMany @JoinColumn @PostConstruct @AssociationTable @OneToOne @Version @EmbeddedId @Serialized @Id EJB @ManyToOne @Transient @Home @RunAs @EJB @MethodPermissions @MessageDriven @Init @Interceptor @Stateful @TransactionManagement @Inject @TransactionAttribute @Stateless @SecurityRoles

  14. Web Services @Resource @ManyToMany @PreDestroy @Table @WebServiceRef @DisciminatorColum @PostConstruct @Column @AssociationTable @WebServiceRefs @Home @OneToMany @MethodPermissions @EmbeddedId @EJB @Init @OneToOne @Transient @MessageDriven @Interceptor @Entity @TransactionManagement @ManyToOne @Stateful @GeneratedValue @TransactionAttribute @Inject @Id @JoinColumn @Stateless @Version @Serialized @SecurityRoles @RunAs

  15. Web Beans @New @Resource @Out @ManyToMany @PreDestroy @In @Table @DisciminatorColum @PostConstruct @Model @WebServiceRef @Column @WebServiceRefs @AssociationTable @SessionScoped @Home @OneToMany @MethodPermissions @Current @EmbeddedId @EJB @Init @LoggedIn @OneToOne @Transient @MessageDriven @Interceptor @Entity @Produces @TransactionManagement @ManyToOne @Stateful @GeneratedValue @TransactionAttribute @Interceptor @Inject @Id @JoinColumn @Secure @Stateless @Version @Decorator @Serialized @SecurityRoles @Synchronous @RunAs @Asynchronous

  16. Servlet 3 @New @WebServlet @Resource @Out @ServletFilter @ManyToMany @In @PreDestroy @InitParam @Table @DisciminatorColum @PostConstruct @WebServiceRef @Model @WebServletContextListenter @Column @WebServiceRefs @SessionScoped @AssociationTable @Home @OneToMany @MethodPermissions @Current @EmbeddedId @EJB @Init @LoggedIn @OneToOne @Transient @MessageDriven @Interceptor @Entity @Produces @TransactionManagement @ManyToOne @Stateful @Interceptor @GeneratedValue @TransactionAttribute @Inject @Id @JoinColumn @Secure @Stateless @Decorator @Version @Serialized @SecurityRoles @Synchronous @RunAs @Asynchronous

  17. JSR 303: Bean Validation @New @Resource @Out @ManyToMany @NotNull @In @PreDestroy @Table @ConstraintValidator @DisciminatorColum @PostConstruct @WebServiceRef @Model @Column @Length @WebServiceRefs @SessionScoped @AssociationTable @Home @OneToMany @Min @MethodPermissions @Current @EmbeddedId @EJB @Pattern @Init @LoggedIn @OneToOne @Transient @MessageDriven @Interceptor @Size @Entity @Produces @TransactionManagement @ManyToOne @Stateful @Valid @Interceptor @GeneratedValue @TransactionAttribute @Inject @ServletFilter @NotEmpty @Id @JoinColumn @WebServlet @Secure @Stateless @Decorator @Version @Serialized @WebServletContextLi @SecurityRoles @InitParam @Synchronous @RunAs @Asynchronous

  18. JSR 303: Bean Validation @New @NotNull @Resource @Out @ManyToMany @In @PreDestroy @Table @ConstraintValidator @DisciminatorColum @Length @PostConstruct @WebServiceRef @Model @Column @WebServiceRefs @SessionScoped @AssociationTable @Home @OneToMany @MethodPermissions @Min @Pattern @Current @EmbeddedId @EJB @Init @LoggedIn @OneToOne @Transient @MessageDriven @Interceptor @Size @Entity @Valid @Produces @TransactionManagement @ManyToOne @Stateful @Interceptor @GeneratedValue @TransactionAttribute @Inject @ServletFilter @Id @NotEmpty @JoinColumn @WebServlet @Secure @Stateless @Decorator @Version @Serialized @WebServletContextLi @SecurityRoles @InitParam @Synchronous @RunAs @Asynchronous

  19. JSR-299 Context and DI for Java  @NonBinding  @Realizes  @Named  @Initializer  @Stereotype  @New  @Interceptor  @Current  @InterceptorBindingType  @Production  @Decorator  @Standard  @Decorates  @Obtains  @ScopeType  @Initialized  @ApplicationScoped  @Deployed  @RequestScoped  @Observes  @SessionScoped  @IfExists  @ConverationScoped  @Asynchronously  @Dependent  @AfterTransactionCompletion  @BindingType  @AfterTransactionFailure  @DeploymentType  @AfterTransactionSuccess  @Produces  @BeforeTransactionCompletion  @Disposes  @Fires  @Specializes  @Model

  20. Annotation Frustrations  Not Mentioned  JMX 2.0  JAX-RS  JUnit 4 / TestNG  AOP frameworks  Spring

  21. Spring 3.0 – What’s New

  22. Spring 2.0  New Bean Scopes – httpSession  Easier XML Configuration – <jee:jndi-lookup id=" dataSource " jndi-name="jdbc/ MyDataSource"/>  Task Execution framework  Portlet MVC  Dynamic Language Support – Groovy – JRuby  Message-driven POJOs  AOP Enhancements – Includes @Aspect  JMX Annotation Support

  23. Spring 2.0 Benefits  Easier XML  Easier AOP  Movement toward Annotations and Java 5 Support

  24. Spring 2.5 – What’s New  More Reduction of XML – <context:* /> – <jms:* />  Significant Annotation Support – JSR 250 - @PostConstruct, @Resource… – JAX-WS 2.0’s - @WebServiceRef – EJB 3.0 - @EJB – MVC annotations - @RequestParam, @RequestMapping… – Test Enhancements - Junit 4.4 and TestNG – Stereotypes - @Component, @Controller… – Spring enhancements - @Autowired, – AOP - @Configurable

  25. Spring 2.5 What’s New (Cont.)  AOP Point Cut – Bean Point Cut – AspectJ load-time weaving **  Auto-Detection of Components on Classpath – In combination with Annotations…  OpenJPA 1.0 support with SavePoints  Web Standards Updates – Tiles 2 – JSF 1.2  Autowiring of JRuby  JMX Configuration Enhancements – <context:mbean-export />

  26. Spring 2.5 Notes  Removed from Spring – JDK 1.3 Support – Hibernate 2.1 and 3.0 Support (Must be Hibernate 3.1+) – IBATIS SQL Maps 1.3 – Apache OJB – JDO 1.0 Support  Jar Changes – Spring-webmvc.jar and spring-webmvc-portlet.jar • MVC must use these jars for DispatcherServlet – No longer in spring.jar  WebSphere and BEA Support – JTA Detection

  27. Biggest Spring 2.5 Benefits  Easier Configuration – Easier XML – Auto-detection – Annotations – Fine Grain Autowiring  Amazing AOP Support

  28. Spring 3.0 What’s New  Java 5  Spring EL  @MVC enhancements  @REST  @Portal 2.0 (JSR-286 support)  Validation – JSR-303  Early Support – JSF 2.0, JPA 2.0, JMX 2.0 26

  29. Biggest Spring 3.0 Benefits  Easier Configuration – Easier XML – Auto-detection – Annotations – Fine Grain Autowiring  Amazing AOP Support

  30. Spring Annotations

  31. Spring Annotations  Spring 2.x Data Access Annotations  Spring 2.x Aspects  Spring 2.5 Context Annotations  Spring 2.5 Stereotypes  Spring 2.5 Factory Annotations  JSR-250 javax.annotations  Spring 2.5 MVC Annotations  Spring 3.0 MVC Additions  Spring 3.0 Annotations

  32. Spring 2.x Data Access Annotations  @Transactional – Provides annotation driven demarcation for transactions  @Repository – Indicates that a class functions as a repository or a data access object (DAO) – Exceptions are transparently translated • Springs DataAccessException Hierarchy

  33. Spring 2.x Aspects @Aspect public class TraceLogger { private static final Logger LOG = Logger.getLogger(TraceLogger.class); @Pointcut("execution(* com.cmentor.*Service(..))") public void serviceInvocation() { } @Before(" serviceInvocation()") public void log(JoinPoint joinPoint) { LOG.info("Before calling " + joinPoint.getSignature().getName() + " with argument " + joinPoint.getArgs()[0]); } }  Requires: <aop:aspectj-autoproxy />

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