Training » All Courses » Java » JavaEE » Java with Spring™ and Hibernate™

Course Summary

Marakana Spring/Hibernate Training is a 5-day course that teaches you how to develop enterprise Java web applications with the Spring, Hibernate, and Spring Security (Acegi) open-source frameworks. The class is designed to run as a hands-on tutorial-style with more than 50% of time being devoted to writing code.

The main goal of this course is to set to students on the right path of developing Java web applications on a best-of-breed software stack (Spring and Hibernate) while utilizing time-tested best-practices. While we don't skip on the theory, students focus most of their energy on why they should use a particular technique, and how to best apply it.

Duration

5 days.

Objectives

By taking Marakana Spring/Hibernate Training class, you will:

  • Understand the fundamentals of Java Web Applications
  • Know how to develop Java Servlets, explain the advantages, the disadvantages, and best practices
  • Know how to develop Java Servlet Filters
  • Know how to develop JavaServer Pages (JSP), take advantage of JSTL and JSP Expression Language (EL)
  • Be able to package, deploy, and troubleshoot Java Web Applications.
  • Understand how to access relational databases via JDBC
  • Be able to set up container-managed database connection pool (DBCP) accessed through JNDI
  • Know how to configure container-managed security (authenticating against a relational database)
  • Understand the drawbacks of bare-bones JDBC code and the benefits of an ORM solution
  • Be able to install, configure, and use Hibernate (with Annotations) for the persistence layer
  • Be able to install, configure, and use Spring for the Business and DAO layers
  • Understand the advantages of POJOs and AOP-style development with Spring
  • Be able to use Spring MVC to replace Servlets, get support for binding, validation, navigation, error handling, etc.
  • Be able to set up Spring's Security (a.k.a. Acegi) framework to set up advanced security controls around a Java Web application.
  • Set up an application server for SSL, and learn how to selectively require SSL where needed
  • Learn about AJAX, and how to use it with Spring through the Prototype JS library
  • Learn how to use Eclipse for Java EE to help speed up the development efforts
  • Learn how to automate common development tasks with Ant
  • Learn best practices, and overall differences between Spring/Hibernate-based applications when compared to other solution.

Audience

Itermediate Marakana Spring/Hibernate Training course is designed for developers who wish to get into the world of enterprise Java Web development, and avoid all the pitfalls by learning about best practices and the best-of-breed solutions offered by the open-source community.

The participants taking Marakana Spring/Hibernate Training course must be familiar with Java and the general principles of object oriented programming (OOP).

Prior exposure to the following concepts and technologies is very helpful, but not required:

  • General understanding of web development principles
  • Basic knowledge of HTML and CSS
  • Basic knowledge of JavaScript
  • Understanding of Java 5 Annotations
  • Basic understanding of the HTTP protocol, including concepts like SSL, redirection, GET vs POST, etc.
  • Basic knowledge of SQL
  • Familiarity with MySQL (or any other relational database)
  • Familiarity with Eclipse IDE (or any other IDE)
  • Familiarity with Tomcat (or any other Java EE application server)
  • Familiarity with Ant

Instructors

Photo

Aleksandar (Saša) Gargenta is the technology brains at Marakana. Always on top of the latest in software, Aleksandar is company's radar for technology that matters.

Aleksandar is the author of Marakana's Java, Advanced Java, Spring/Hibernate, JBoss, Apache, XML/XSL, and JUnit/TestNG training courses. Phew. And if that's not enough, he's also the chief architect of Marakana Spark, the on-demand software platform that powers marakana.com and a number of other training companies. As an instructor he's taught hundreds of classes for everyone from Apple to Disney, from NASA to the Department of Defense.

In his spare time Aleksandar runs the San Francisco Java and the San Francisco Android User Groups with over a thousand members between the two. More about Aleksandar Gargenta...

Photo
After graduating with a Computer Science degree from University of Cape Town, South Africa, Martin spent 13 years developing his career with WorldGroup consulting, starting as a Java programmer and ending his career there in 2005 as Chief Technical Officer of a company selling a J2EE infrastructure based product set to Fortune 500's. In 2005 Martin left his position and founded Javadojo, a company dedicated to building cutting edge delivery platform's in Java and hiring the best Java people in the business. Martin has been a freelance educator for the last 3 years teaching open source technology across the globe. Javadojo has since released the pureSolv platform, the first full RIA (Rich Internet Application) platform supporting interfaces across all mobile and desktop hardware, with a revolutionary scalable back end micro transaction manager - all with open source Java technologies. The first commercial product using pureSolv, called incaMoon, is a universal web store front for the masses, and is in Beta testing currently.

Additionally Martin has been producing electronic music for the last few years using Ableton Live. He has released two albums and has been playing his music live around the US and at festivals such as the Coachella, Shambhala and Burning Man festivals. Martin is currently working on a revolutionary open source music standard, to produce a platform for musicians to share and contribute to their art using the principals of open source software. Martin also teaches digital music production with tools such as Ableton Live and Cubase.

Martin has several real estate projects in progress in the Nicoya Peninsula in Costa Rica where he purchased large tracts of land several years ago and has begun developing infrastructure and reselling subdivisions. The ultimate goal in this project is to develop a 50 acre nature preservation around a man made reservoir, for the protection and preservation of indigenous animal and bird species that live in these coastal regions. More about Martin Folb...

Additional Notes

 

About the Platform

This course is typically delivered on Eclipse, Tomcat, and MySQL.

Marakana.com Runs on Java with Spring and Hibernate

Spark Stack

Marakana.com is written in Java using Spring and Hibernate frameworks. We deploy it on Apache Tomcat Application Server. Both Marakana Spark and Apache Tomcat are Java applications and thus run on Java Virtual Machine. Spark uses MySQL database for persistence. Our operating system of choice is Ubuntu Linux, for security and reliability reasons. So we practice what we teach. You will learn from real developers.

Java Meetup Organized by Marakana

SF Java Users GroupMarakana team organizes and runs the San Francisco Java Meetup - an interactive group of Java developers. In our monthly meetings, we discuss Java landscape from both technology and business angles. We often have great presentations by industry experts, group discussions, as well as hands-on sessions. If you are in San Francisco Bay Area, we encourage you to join the group and meet other Java developers.

Outline

Java EE

  • Overview of Java EE (a.k.a. J2EE)
  • Comparison of Java EE with other enterprise technologies

Java Web Applications

  • Overview of Java Web Application Development
  • Overview of Servlets: advantages, disadvantages, API, life-cycle, etc.
  • Java Web Application development life-cycle
    • Writing Code
    • Compiling Code
    • Writing Deployment Descriptors (WEB-INF/web.xml files)
    • Packaging web applications (generating WAR files)
    • Deploying web applications (e.g. on Tomcat)
  • Overview of Java Servlet Filters: uses, API, life-cycle, etc.
  • Overview of JavaServer Pages (JSP): advantages, disadvantages, API, life-cycle, etc.
  • Overview of JSTL
  • Overview of JSP Expression Language (EL)
  • Best practices with Servlets and JSPs: examples and labs

Database-driven Java Web Applications

  • Connecting to databases from Java web applications
  • Review of JDBC
  • Overview of JNDI
  • Overview of container-managed database connection pools (DBCP)
  • Overview of DAO design pattern
  • Using both Servlets and JSPs through clean design: examples and labs

Hibernate

  • Overview of ORM frameworks
  • Overview of Hibernate: advantages, features, etc.
  • Overview of EJB3's JPA
  • Switching from JDBC to Hibernate
  • Installing and configuring Hibernate
  • Overview of Hibernate Annotations
  • Overview of Hibernate Query Language (HQL)
  • Overivew of Hibernate caching (through EHcache)
  • Best-practices: examples, and labs

Spring Framework

  • Overivew of Model-View-Controller (MVC) design pattern
  • Overview of the overall Spring framework (as a replacement for EJB)
  • Overview of Spring MVC
  • Switching from Servlets to Spring
  • Installing and configuring Spring
  • Overview of Spring Controllers
  • Overview of Spring Validators
  • Best-practices: examples, and labs

Spring Security Framework

  • Overview of container-managed security
  • Overview of Spring Security framework (a.k.a. Acegi)
  • Switcing from container-managed to Spring security
  • Installing and configuring Spring Security
  • Exposing security context in the application

Course Testimonials

VERY impressed. I SO needed this course and feel that I got a great deal out of it. Thank you so much!

- CFCU

Wonderful class. Fantastic instructor (Aleksander). Fast paced, but very useful. I learned *so* much. The instructor was so knowledgeable he was able to answer every single question presented to him. Nice touch was also the free lunches. :)

- Unemployed Engineer

Well prepared and up-to-date examples. Instructor answered questions thorougly and clearly.
Highly recommend this course. Thank you!!

- Haemonetics

Good course. Broad coverage including some stuff we didn't expect but will find useful.

- Haemonetics

I learned a lot - Sasa is very knowledgeable and fluidly adapts questions and the code to comments/questions.
Instructor had a lot of energy and a good sense of humour.

- Haemonetics

The instructor is a great teacher. He knows his subject material to a depth I usually don't see. I enjoyed learning from someone who knows his stuff so well.

- UCD Middleware

Great class. I've learned a lot about the subject matter and would love to take another one in the near future. Thanks Sasa!

- Fresenius Medical Care

I went from some weak, outdated Java skills to using and understanding some powerful frameworks. I learned much more than I expected. Training classes in general can be hit-or-miss, but this one with this instructor is excellent. He helped bring everyone up to speed and ensured we all understood the technologies involved.

- UC Davis

Teacher was excellent! The sample project was excellent. It will make a good project to use as a foundation for our next spring project.

- UC Davis

Nice very nice!
This course was very useful. The material was very good. I loved the hands-on labs. The instructor was really good. He was well prepared and answered questions very well.

- Fujitsu Siemens Computers, Inc.

Awesome training ...

- Fujitsu Siemens Computers, Inc.

Great course, very clear. I'll recommend it for sure.

- Supinfo International University

The course was unbelievable and the instructor really knew the information. I was amazed how quickly the instructor was able to figure out student problems and answer/address any problems or concerns presented. I learned so much from the course.

- Peerless Technologies