J2EE Application Development with Spring and Hibernate
Request a Class
9:00am - 4:30pm
This course provides students with the knowledge needed to use the Spring Framework and to use the Hibernate Object/Relational Mapping (ORM) framework to implement the persistence layer of J2EE applications to develop flexible, testable and maintainable Java EE enterprise applications. The labs are done using RAD 7.0.
AUDIENCE AND PREREQUISITES
•Software designers, developers and programmers •Understand Java
•Understand Servlets and JSP
** Course cost listed does not include the cost of the courseware or lunch. If you have any questions, please contact us: email@example.com or 207-775-0244.
Course is subject to minimum enrollment. Course may be run as a virtual class.
Topics •The Need for Spring •Inversion of Control •Wiring Beans •Object/Relational Mapping Concepts •Basic Hibernate Mappings •Aspect-Oriented Programming in Spring including support for AspectJ •Manipulating Persistent Objects •Advanced Hibernate Mappings •Transactions and Concurrency •Spring MVC, form tag library and portlet framework •Spring Web Flow •Accessing Enterprise Services What you will learn after completing this course, the student should be able to: •Understand the need for the Spring framework •Use inversion of control to increase flexibility and testability of applications •Understand the concepts of object/relational mappings •Create Hibernate mappings •Understand and use aspect-oriented programming to better handle cross-cutting concerns •Integrate Spring with the Hibernate ORM framework •Retrieve and update persistent objects using Hibernate •Use HQL (Hibernate Query Language) and criteria queries •Know when to use database and application transactions •Use the Spring MVC web framework and form tag library to develop flexible web applications •Use the Spring Web Flow model for programming web applications •Access enterprise services including JMS, email, job schedulers and JNDI Chapter 1 - Introduction to the Spring Framework •What is the Spring Framework? •Spring Characteristics •Spring Modules •Why Spring? •Problems with EJB •Spring Philosophies •Alternatives to Spring •Simple Example •What is Inversion of Control? •IoC ExampleChapter 2 - Spring Dependency Injection •Spring Containers •Bean Creation •Bean Destruction •Wiring Beans •Bean Element •Dependency Injection – Primitives and Strings •Dependency Injection - References •Dependency Injection – Inner Beans •Dependency Injection – Lists, Arrays and Sets •Dependency Injection – Maps •Dependency Injection - Properties •Constructor Injection – Handling Multiple Arguments Chapter 3 - Database Integration and Transaction Management •DAO Support in Spring •DataAccessException •Using DataSources •DAO Templates •DAO Templates and Callbacks •Using Spring with JDBC •Writing Data with JdbcTemplate •Spring 2.5 NamedParameterJdbcTemplate •Hibernate •Spring LocalSessionFactoryBean •Spring JpaTemplate •Transaction Management in Spring Chapter 4 - Introduction to Hibernate •What is Hibernate? •Relational Database Technology •Accessing Relational Databases from Java •Domain Models •Comparing Object and Relational Models •Identity Modeling •Granularity of Objects and Tables •Advantages of using an ORM Tool •Hibernate Configuration •Hibernate Mappings •Hibernate Properties •Hibernate XML Configuration Files Chapter 5 - Basic Mappings •Creating the Domain Model •Domain Model •Hibernate Requirements •Object Identity •Primary Keys •Natural Keys vs. Surrogate Keys •Hibernate Managed Identifiers •Identifier Property •Property Access Strategies •Quoted SQL Identifiers •Components •Inheritance Mapping StrategiesChapter 6 - Introduction to Aspect-Oriented Programming •What is AOP? •Cross-Cutting Concerns •AOP Concepts •AOP in Spring •Declarative Transactions •Transaction Attributes •Transaction Propagation Behavior •Transaction Isolation Levels •Read-Only and Timeouts •NameMatchTransactionAttributeSource •Inheriting Transaction Details •Spring 2.5 XML Syntax for Transaction Advice Chapter 7 - Aspect-Oriented Programming in Spring •Types of Advice , Before Advice Example •After Returning Advice •Throws Advice •Pointcuts , Advisors •NameMatchMethodPointcut •ControlFlowPointcut •DelegatingIntroductionInterceptor •BeanNameAutoProxyCreator •DefaultAdvisorAutoProxyCreator •Spring 2.5 AOP •Composite Pointcuts in @AspectJ •XML Schema-based AOP SupportChapter 8 - Manipulating Persistent Objects •Object States •Transient Objects •Persistent Objects •Detached Objects •Object Identity •Persisting a Transient Object •Retrieving and Updating a Persistent Object •Deleting a Persistent Object •Updating a Detached Object •Transitive Persistence •Using save-update •Differentiating Between Transient and Detached Objects Chapter 9 - Advanced MappingsChapter 10 - Hibernate QueriesChapter 11 - Transactions, Concurrency and PerformanceChapter 12 - Spring MVCChapter 13 - Web Application AlternativesChapter 14 - Introduction to Spring Web Flow 2Chapter 15 - Defining FlowsChapter 16 - Accessing Enterprise ServicesChapter 17 - Java SE 5 in Spring 2.5