[Marakana TV] - Java Web Development with Spring and Hibernate
Course Summary
http://marakana.com/training/java/java_web_development_bootcamp.html
Videos and source codes:
https://github.com/marley-spring/marakana.com-spring-and-hibernate
Release-date: September 2012
Run-time: 5 day course, every day has 4 videos that are about 1 hour long.
Video format: .mov (QuickTime Movie)
Resolution: 800x600 and 1024x768
This is Maranaka's on-site course about Spring & Hibernate. It starts by explaining the troubles of using JDBC and JNDI, and then writing the web application with spring and hibernate Course Outline Day 1 - class design: Contact, Address ContactRepository (init, findAll, find, create, update, delete), AddressRepository (...) Setup (servlet context listener) - servlets / jsps: view all contact names, add a contact contact: edit name, address, delete contact - JDBC / JNDI / DataSource initialize tables in repositories, use raw sql Day 2 - finish servlets - intro hibernate/jpa META-INF/persistence.xml, persistence-unit-ref in web.xml javax.persistence.{ Persistence, EntityManager } @Entity, @Column, @OneToOne - - Rewrite ContactRepository and AddressRepository (findAll, find, create, update, delete) and refactor Day 3 - intro spring container-managed objects, dependency injection Spring MVC: controllers, @RequestMapping Spring JPA: JpaRepository, bytecode generation - refactor controller methods model, view, injecting request parameters, redirects new class design: Contact, Person, Company, Office, Address how to represent polymorphism in jpa? @OneToMany, @ManyToOne, @ManyToMany - controllers: person: edit name, address, delete person company: edit name, view all offices, add an office, delete company Day 4 - office front-end introduce UrlEntity helper - horrible bugs! why doesn't delete work? ... orphan removal lazy loaded associations, open session in view filter - discussion: Spring high level - discussion: Transactions and AOP - discussion: Entity versioning, optimistic locking - data constraints nullable, length Validation (ex: @NotBlank, all employees of a manager must work for the same company) Day 5 - REST services more Spring MVC annotations Jackson
To start working with code as teacher, do next (on linux):
$ git clone https://github.com/code-examples/marakana.com-spring-and-hibernate-code-examples.git
$ cd marakana.com-spring-and-hibernate-code-examples/
$ git checkout b46bdc5163f604d12864a622e4129b2df255640b
$ git branch b46bdc5163f604d12864a622e4129b2df255640b
Then you should Import Existing Maven Projects and create folders:
src/main/java
src/main/resources