Visão Geral
Curso Spring 3 & Spring MVC Web Flow, Spring é uma estrutura Java leve para construir aplicativos corporativos. Seu módulo Core permite gerenciar o ciclo de vida de seus objetos e as dependências entre eles via metadados de configuração (seja XML ou anotações) e Injeção de Dependência/Inversão de Controle. Seus recursos avançados fornecem suporte para JDBC e estruturas de persistência como Hibernate (módulos DAO e ORM), Programação Orientada a Aspectos (módulo AOP), integração com tecnologias Java Web (MVC e Web Flow), segurança, transações e muito mais.
Este Curso Spring 3 & Spring MVC Web Flow, de Java baseados na versão Spring 3. Ele inclui uma cobertura completa da abordagem baseada em anotação para configuração e o uso dos recursos Java-5 que foi introduzido pela primeira vez no Spring 2.x e que foi bastante aprimorado no Spring 3. Ele também fornece cobertura da configuração tradicional baseada em XML que ainda podem desempenhar um papel importante em projetos novos e existentes.
O Curso Spring 3 & Spring MVC Web Flow começa com os fundamentos do Spring e uma cobertura detalhada sobre como usar os poderosos recursos do módulo Core para reduzir o acoplamento e aumentar a flexibilidade, facilidade de manutenção e teste de seus aplicativos. Ele cobre todos os recursos importantes do Spring 3, incluindo o uso do Spring para simplificar a criação de uma camada de persistência com JDBC e/ou estruturas de persistência como Hibernate e JPA. Ele inclui a cobertura de recursos avançados, como o uso do Spring's Aspect Oriented Programming (AOP) para programar preocupações transversais, como transações e segurança. Isso inclui uma introdução ao Spring Security v3, sua arquitetura e como usá-lo para proteger solicitações de aplicativos da Web e invocações de bean
O Curso Spring 3 & Spring MVC Web Flow inclui a integração do Spring com aplicativos da Web Java EE, uma introdução ao Web MVC do Spring e uma cobertura completa do Spring Web Flow 2 (que ainda é a versão mais recente disponível). O Spring MVC é uma estrutura da Web baseada no poderoso padrão Model-View-Controller, e a introdução abrange os fundamentos do Spring MVC e como ele suporta a organização de seus aplicativos da Web de uma maneira altamente estruturada e fracamente acoplada. Spring Web Flow 2 é uma estrutura Spring para definir o fluxo da interface do usuário em um aplicativo da Web. O curso inclui uma cobertura completa do Web Flow, incluindo uma visão geral de seus recursos e arquitetura, definição de fluxos, variáveis e ações de fluxo, Unified EL e programação de fluxo. Observe que o Spring Web Flow 3, que usará configuração baseada em anotação, ainda está em um estágio de desenvolvimento muito inicial.
Este Curso Spring 3 & Spring MVC Web Flow é prático com laboratórios para reforçar todos os conceitos importantes. Ele permitirá que você crie aplicativos Spring funcionais e forneça uma compreensão dos conceitos e tecnologias importantes em um tempo muito curto.
Conteúdo Programatico
Introduction
- Overview of Spring Technology
- Shortcomings of Java EE, Spring Architecture
- Spring Introduction
- Managing Beans, The Spring Container, IoC, DI
- Configuration Metadata – XML, @Component, Auto-Detecting Beans
- Dependencies and Dependency Injection (DI)
- Dependency Inversion, Dependency Injection (DI) in Spring, DI Configuration – XML, @Resource
More about Bean Properties
- Working with Properties
- Configuring Value Properties, Property Conversions, Setter / Constructor Injection
- Spring Expression Language for Configuration
- Collection Valued Properties
- Configuring and using lists, sets, etc.
- Additional Capabilities
- Factory Methods, Bean Aliases, Definition Inheritance (Parent Beans)
The Spring Container and API
- ApplicationContext
- ClassPathXmlApplicationContext, FileSystemXmlApplicationContext, Constructors, Usage
- Resource Access – Overview, Resource Implementations
- Validation
- Overview, JSR-303
- Declarative Validation, @NotNull, @Size, @Min, etc
- Configuration, Injection
- Bean Scope and Lifecycle
- Bean Scope Defined, Configuring, Inner Beans, Bean Creation Lifecycle, Lifecycle Callbacks, BeanPostProcessor, Event Handling
- MessageSources
- Defining and Using Resource Bundles, Localization/I18N
- Annotation Driven Configuration
- Stereotypes: @Component, @Service, @Controller, @Repository
- Java EE 5 Annotation Support
- Defining Custom Annotations
- Autowiring
- @Autowired on setters, constructures, methods, fields
- Injecting resources like ApplicationContext
- Fine tuning with @Qualifier
- Java Based Bean Metadata (JavaConfig)
- Overview – code-centric Configuration
- @Confguration, @Bean, and @Value
- Importing and @Import
- Autowiring in Configuration Classes
- Mixing XML Configuraiton and @Configuration
- XML vs Annotation Based Configuration
- Other Capabilities
- SpEL – Spring Expression LanguageValidation
Database Access with Spring
- Issues with JDBC / Typical JDBC Flow
- Introduction to Spring DAO Support
- Spring Database API, (Simple)JdbcTemplate, (Simple)JdbcDaoSupport, DataSources,
- Working With and Configuring, , , With Bean Refs,
- Queries and Inserts
- RowMapper, ParameterizedRowMapper, Passing Arguments, queryForObject, query, update
- Additional API Capabilities
- Additional query methods, Passing Type Arguments, queryForList, FetchSize, MaxRows
- Using Spring with Hibernate
- Overview of Template Approach, SessionFactory configuration
- Using Contextual Sessions
- Using Spring with JPA
- LocalEntityManagerFactoryBean, LocalContainerEntityManagerFactoryBean, JNDI, PersistenceUnitManager
- DAO Support – @PersistenceUnit, @PersistenceContext
Aspect Oriented Programming (AOP)
- Overview of AOP
- AOP Basics, Aspect, Joinpoint, Advice, Pointcut
- Introduction to Spring AOP
- Capabilities, Configuration (Annotation Based and XML), Weaving, Joinpoints
- Using Aspects
- Defining Advice, Configuring Pointcuts, Targets and Proxies
- XML Configuration with
- AspectJ Pointcuts, Autoproxies
- Using @AspectJ Annotations
- @AspectJ Annotations, Declaring Advice
Spring Transaction (TX) Management
- Intro to Spring Transaction Management
- Overview, Component TX Model, TX Propagation, Declarative Transactions, TransactionManagers
- Using Spring Transactions
- Annotation Configured Transactions
- @Transactional and its settings
- XML Configured Transactions
- new elements, Configuring tx:advice, and tx:attributes
- Defining the TX advisor
Introduction to Spring Web Integration and Spring MVC
- Integrating Spring with Java EE Web Apps, ContextLoaderListener, WebApplicationContext
- Spring Web MVC Overview, Capabilities, Architecture
- Spring MVC Basics
- DispatcherServlet, Configuration, mvc Namespace
- Controllers, @Controller, Handler Methods
- @RequestParam and Parameter Binding
- View Resolvers
- Writing Controllers, @Controller, @RequestMapping, @RequestParam, @PathVariable
- Forms and Binding, Spring Form Tags, @ModelAttribute
- Session Attributes, @SessionAttributes
Overview of Spring Security
- Overview – Capabilities, Architecture
- Introduction to Spring Security
- HTTP Security
- Method Security
- Annotation-Based Security
- Expression-Based Access Control
- Authentication Providers
Introduction to Spring Web Flow 2
- Overview – Need for Flow, Capabilities, Architecture
- Defining Flows
- XML Flow Definition Language
- Flows, States, and Transitions
- Accesing Flows in Web Pages
- Exiting Flows – flowRedirect and externalRedirect
- Configuring Web Flow – Flow Executor, Flow Registry, Integration with Spring MVC
- Working with Data – Flow Instance Variables, Flow Inputs
- View Pages and Model Binding
- Flow Actions – evaluate, set, and render
More on Spring Web Flow 2
- Using the Spring Expression Language (SpEL) with Web Flow
- Syntax and Expressions
- Implicit Objects
- Flow Control
- Using Data Scopes – Request, Flash, View, Flow, Conversation, and Session Scope
- POST-REDIRECT-GET Idiom
- Flow Language Elements
- More on States, Actions, and Other Elements
- Routing with action-state and decision-state
Programming with Spring Web Flow 2
- Creating Custom Actions
- POJO Based Actions vs the Action interface
- RequestContext and ExternalContext
- Validation and Error Reporting
- Defining Validation in the Model and in a Validator Class
- ValidationContext, MessageContext, and Resource Bundles
- Converters
- Subflows
- Defining and Using
- Input/Output Variables
- Conversation Scope Variables
- Subflow End States