├── 9781430259084.jpg ├── 9781430259084_AppA.pdf ├── 9781430259084_AppB.pdf ├── LICENSE.txt ├── README.md ├── contributing.md └── springrecipes-master ├── .gitignore ├── Appendix_A ├── Recipe_A_2_i │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── cloud │ │ └── Main.java ├── Recipe_A_3_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── cloud │ │ │ ├── Contact.java │ │ │ ├── ContactRepository.java │ │ │ ├── MapBasedContactRepository.java │ │ │ ├── config │ │ │ └── ContactConfiguration.java │ │ │ └── web │ │ │ ├── ContactController.java │ │ │ ├── ContactWebApplicationInitializer.java │ │ │ └── ContactWebConfiguration.java │ │ └── webapp │ │ └── WEB-INF │ │ └── views │ │ ├── contact.jsp │ │ └── list.jsp ├── Recipe_A_3_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── cloud │ │ │ ├── Contact.java │ │ │ ├── ContactRepository.java │ │ │ ├── JdbcContactRepository.java │ │ │ ├── config │ │ │ └── ContactConfiguration.java │ │ │ └── web │ │ │ ├── ContactController.java │ │ │ ├── ContactWebApplicationInitializer.java │ │ │ └── ContactWebConfiguration.java │ │ ├── resources │ │ └── sql │ │ │ └── schema.sql │ │ └── webapp │ │ └── WEB-INF │ │ └── views │ │ ├── contact.jsp │ │ └── list.jsp ├── Recipe_A_3_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── cloud │ │ │ ├── Contact.java │ │ │ ├── ContactRepository.java │ │ │ ├── JdbcContactRepository.java │ │ │ ├── config │ │ │ └── ContactConfiguration.java │ │ │ └── web │ │ │ ├── ContactController.java │ │ │ ├── ContactWebApplicationInitializer.java │ │ │ └── ContactWebConfiguration.java │ │ ├── resources │ │ └── sql │ │ │ └── schema.sql │ │ └── webapp │ │ └── WEB-INF │ │ └── views │ │ ├── contact.jsp │ │ └── list.jsp └── build.gradle ├── Appendix_B ├── Recipe_B_1_i │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── caching │ │ ├── CalculationService.java │ │ ├── Main.java │ │ └── PlainCalculationService.java ├── Recipe_B_1_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── caching │ │ │ ├── CalculationService.java │ │ │ ├── Main.java │ │ │ └── PlainCachingCalculationService.java │ │ └── resources │ │ ├── ehcache.xml │ │ └── logback.xml ├── Recipe_B_1_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── caching │ │ │ ├── CalculationService.java │ │ │ ├── Main.java │ │ │ ├── PlainCachingCalculationService.java │ │ │ └── config │ │ │ └── CalculationConfiguration.java │ │ └── resources │ │ ├── ehcache.xml │ │ └── logback.xml ├── Recipe_B_1_iv │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── caching │ │ │ ├── CalculationService.java │ │ │ ├── Main.java │ │ │ ├── PlainCachingCalculationService.java │ │ │ └── config │ │ │ └── CalculationConfiguration.java │ │ └── resources │ │ ├── ehcache.xml │ │ └── logback.xml ├── Recipe_B_2_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── caching │ │ │ ├── CalculationService.java │ │ │ ├── Main.java │ │ │ ├── PlainCachingCalculationService.java │ │ │ └── config │ │ │ └── CalculationConfiguration.java │ │ └── resources │ │ ├── ehcache.xml │ │ └── logback.xml ├── Recipe_B_2_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── caching │ │ │ ├── CalculationService.java │ │ │ ├── Main.java │ │ │ ├── PlainCachingCalculationService.java │ │ │ └── config │ │ │ └── CalculationConfiguration.java │ │ └── resources │ │ ├── ehcache.xml │ │ └── logback.xml ├── Recipe_B_3_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── caching │ │ │ ├── CalculationService.java │ │ │ ├── Main.java │ │ │ ├── PlainCalculationService.java │ │ │ └── config │ │ │ └── CalculationConfiguration.java │ │ └── resources │ │ ├── ehcache.xml │ │ └── logback.xml ├── Recipe_B_3_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── caching │ │ │ ├── CalculationService.java │ │ │ ├── Main.java │ │ │ ├── PlainCalculationService.java │ │ │ └── config │ │ │ └── CalculationConfiguration.java │ │ └── resources │ │ ├── ehcache.xml │ │ └── logback.xml ├── Recipe_B_4_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── caching │ │ │ ├── CalculationService.java │ │ │ ├── CustomKeyGenerator.java │ │ │ ├── Main.java │ │ │ ├── PlainCalculationService.java │ │ │ └── config │ │ │ └── CalculationConfiguration.java │ │ └── resources │ │ ├── ehcache.xml │ │ └── logback.xml ├── Recipe_B_5_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── caching │ │ │ ├── Customer.java │ │ │ ├── CustomerRepository.java │ │ │ ├── Main.java │ │ │ ├── MapBasedCustomerRepository.java │ │ │ └── config │ │ │ └── CustomerConfiguration.java │ │ └── resources │ │ ├── ehcache.xml │ │ └── logback.xml ├── Recipe_B_5_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── caching │ │ │ ├── Customer.java │ │ │ ├── CustomerRepository.java │ │ │ ├── Main.java │ │ │ ├── MapBasedCustomerRepository.java │ │ │ └── config │ │ │ └── CustomerConfiguration.java │ │ └── resources │ │ ├── ehcache.xml │ │ └── logback.xml ├── Recipe_B_5_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── caching │ │ │ ├── Customer.java │ │ │ ├── CustomerRepository.java │ │ │ ├── Main.java │ │ │ ├── MapBasedCustomerRepository.java │ │ │ └── config │ │ │ └── CustomerConfiguration.java │ │ └── resources │ │ ├── ehcache.xml │ │ └── logback.xml ├── Recipe_B_5_iv │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── caching │ │ │ ├── Customer.java │ │ │ ├── CustomerRepository.java │ │ │ ├── Main.java │ │ │ ├── MapBasedCustomerRepository.java │ │ │ └── config │ │ │ └── CustomerConfiguration.java │ │ └── resources │ │ ├── ehcache.xml │ │ └── logback.xml ├── Recipe_B_5_v │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── caching │ │ │ ├── Customer.java │ │ │ ├── CustomerRepository.java │ │ │ ├── Main.java │ │ │ ├── MapBasedCustomerRepository.java │ │ │ └── config │ │ │ └── CustomerConfiguration.java │ │ └── resources │ │ ├── ehcache.xml │ │ └── logback.xml ├── Recipe_B_6_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── caching │ │ │ ├── Customer.java │ │ │ ├── CustomerRepository.java │ │ │ ├── LoggingCacheListener.java │ │ │ ├── Main.java │ │ │ ├── MapBasedCustomerRepository.java │ │ │ └── config │ │ │ └── CustomerConfiguration.java │ │ └── resources │ │ ├── cache-client.xml │ │ └── logback.xml ├── Recipe_B_6_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── caching │ │ │ ├── Customer.java │ │ │ ├── CustomerRepository.java │ │ │ ├── LoggingCacheListener.java │ │ │ ├── Main.java │ │ │ ├── MainServer.java │ │ │ ├── MapBasedCustomerRepository.java │ │ │ └── config │ │ │ └── CustomerConfiguration.java │ │ └── resources │ │ ├── cache-client.xml │ │ ├── cache-server.xml │ │ └── logback.xml └── build.gradle ├── Ch1 ├── Recipe_1_6 │ ├── build.gradle │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── hello │ │ │ ├── HelloWorld.java │ │ │ ├── Holiday.java │ │ │ └── Main.java │ │ └── resources │ │ └── beans.xml ├── build.gradle ├── springintro │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── hello │ │ │ ├── HelloWorld.java │ │ │ ├── Holiday.java │ │ │ └── Main.java │ │ └── resources │ │ └── beans.xml └── springintro_mvn │ ├── pom.xml │ └── src │ └── main │ ├── java │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── hello │ │ ├── HelloWorld.java │ │ ├── Holiday.java │ │ └── Main.java │ └── resources │ └── beans.xml ├── Ch10 ├── Recipe_10_0_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── vehicle │ │ │ ├── JdbcVehicleDao.java │ │ │ ├── Main.java │ │ │ ├── Vehicle.java │ │ │ ├── VehicleDao.java │ │ │ └── config │ │ │ └── VehicleConfiguration.java │ │ └── resources │ │ ├── sql │ │ └── vehicle.sql │ │ └── vehicle-context.xml ├── Recipe_10_0_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── vehicle │ │ │ ├── JdbcVehicleDao.java │ │ │ ├── Main.java │ │ │ ├── Vehicle.java │ │ │ ├── VehicleDao.java │ │ │ └── config │ │ │ └── VehicleConfiguration.java │ │ └── resources │ │ ├── sql │ │ └── vehicle.sql │ │ └── vehicle-context.xml ├── Recipe_10_0_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── vehicle │ │ │ ├── JdbcVehicleDao.java │ │ │ ├── Main.java │ │ │ ├── Vehicle.java │ │ │ └── VehicleDao.java │ │ └── resources │ │ ├── sql │ │ └── vehicle.sql │ │ └── vehicle-context.xml ├── Recipe_10_0_iv │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── vehicle │ │ │ ├── JdbcVehicleDao.java │ │ │ ├── Main.java │ │ │ ├── Vehicle.java │ │ │ ├── VehicleDao.java │ │ │ └── config │ │ │ └── VehicleConfiguration.java │ │ └── resources │ │ ├── sql │ │ └── vehicle.sql │ │ └── vehicle-context.xml ├── Recipe_10_10_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── course │ │ │ ├── Course.java │ │ │ ├── CourseDao.java │ │ │ ├── JpaCourseDao.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── CourseConfiguration.java │ │ └── resources │ │ └── course-context.xml ├── Recipe_10_10_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── course │ │ │ ├── Course.java │ │ │ ├── CourseDao.java │ │ │ ├── JpaCourseDao.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── CourseConfiguration.java │ │ └── resources │ │ └── course-context.xml ├── Recipe_10_11 │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── course │ │ │ ├── Course.java │ │ │ ├── CourseRepository.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── CourseConfiguration.java │ │ └── resources │ │ └── course-context.xml ├── Recipe_10_1_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── vehicle │ │ │ ├── InsertVehicleStatementCreator.java │ │ │ ├── JdbcVehicleDao.java │ │ │ ├── Main.java │ │ │ ├── Vehicle.java │ │ │ ├── VehicleDao.java │ │ │ └── config │ │ │ └── VehicleConfiguration.java │ │ └── resources │ │ ├── sql │ │ └── vehicle.sql │ │ └── vehicle-context.xml ├── Recipe_10_1_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── vehicle │ │ │ ├── JdbcVehicleDao.java │ │ │ ├── Main.java │ │ │ ├── Vehicle.java │ │ │ ├── VehicleDao.java │ │ │ └── config │ │ │ └── VehicleConfiguration.java │ │ └── resources │ │ ├── sql │ │ └── vehicle.sql │ │ └── vehicle-context.xml ├── Recipe_10_1_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── vehicle │ │ │ ├── JdbcVehicleDao.java │ │ │ ├── Main.java │ │ │ ├── Vehicle.java │ │ │ ├── VehicleDao.java │ │ │ └── config │ │ │ └── VehicleConfiguration.java │ │ └── resources │ │ ├── sql │ │ └── vehicle.sql │ │ └── vehicle-context.xml ├── Recipe_10_1_iv │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── vehicle │ │ │ ├── JdbcVehicleDao.java │ │ │ ├── Main.java │ │ │ ├── Vehicle.java │ │ │ ├── VehicleDao.java │ │ │ └── config │ │ │ └── VehicleConfiguration.java │ │ └── resources │ │ ├── sql │ │ └── vehicle.sql │ │ └── vehicle-context.xml ├── Recipe_10_1_v │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── vehicle │ │ │ ├── JdbcVehicleDao.java │ │ │ ├── Main.java │ │ │ ├── Vehicle.java │ │ │ ├── VehicleDao.java │ │ │ └── config │ │ │ └── VehicleConfiguration.java │ │ └── resources │ │ ├── sql │ │ └── vehicle.sql │ │ └── vehicle-context.xml ├── Recipe_10_2_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── vehicle │ │ │ ├── JdbcVehicleDao.java │ │ │ ├── Main.java │ │ │ ├── Vehicle.java │ │ │ ├── VehicleDao.java │ │ │ └── config │ │ │ └── VehicleConfiguration.java │ │ └── resources │ │ ├── sql │ │ └── vehicle.sql │ │ └── vehicle-context.xml ├── Recipe_10_2_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── vehicle │ │ │ ├── JdbcVehicleDao.java │ │ │ ├── Main.java │ │ │ ├── Vehicle.java │ │ │ ├── VehicleDao.java │ │ │ ├── VehicleRowMapper.java │ │ │ └── config │ │ │ └── VehicleConfiguration.java │ │ └── resources │ │ ├── sql │ │ └── vehicle.sql │ │ └── vehicle-context.xml ├── Recipe_10_2_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── vehicle │ │ │ ├── JdbcVehicleDao.java │ │ │ ├── Main.java │ │ │ ├── Vehicle.java │ │ │ ├── VehicleDao.java │ │ │ └── config │ │ │ └── VehicleConfiguration.java │ │ └── resources │ │ ├── sql │ │ └── vehicle.sql │ │ └── vehicle-context.xml ├── Recipe_10_2_iv │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── vehicle │ │ │ ├── JdbcVehicleDao.java │ │ │ ├── Main.java │ │ │ ├── Vehicle.java │ │ │ ├── VehicleDao.java │ │ │ ├── VehicleRowMapper.java │ │ │ └── config │ │ │ └── VehicleConfiguration.java │ │ └── resources │ │ ├── sql │ │ └── vehicle.sql │ │ └── vehicle-context.xml ├── Recipe_10_2_v │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── vehicle │ │ │ ├── JdbcVehicleDao.java │ │ │ ├── Main.java │ │ │ ├── Vehicle.java │ │ │ ├── VehicleDao.java │ │ │ ├── VehicleRowMapper.java │ │ │ └── config │ │ │ └── VehicleConfiguration.java │ │ └── resources │ │ ├── sql │ │ └── vehicle.sql │ │ └── vehicle-context.xml ├── Recipe_10_2_vi │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── vehicle │ │ │ ├── JdbcVehicleDao.java │ │ │ ├── Main.java │ │ │ ├── Vehicle.java │ │ │ ├── VehicleDao.java │ │ │ ├── VehicleRowMapper.java │ │ │ └── config │ │ │ └── VehicleConfiguration.java │ │ └── resources │ │ ├── sql │ │ └── vehicle.sql │ │ └── vehicle-context.xml ├── Recipe_10_3_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── vehicle │ │ │ ├── JdbcVehicleDao.java │ │ │ ├── Main.java │ │ │ ├── Vehicle.java │ │ │ ├── VehicleDao.java │ │ │ ├── VehicleRowMapper.java │ │ │ └── config │ │ │ └── VehicleConfiguration.java │ │ └── resources │ │ ├── sql │ │ └── vehicle.sql │ │ └── vehicle-context.xml ├── Recipe_10_3_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── vehicle │ │ │ ├── JdbcVehicleDao.java │ │ │ ├── Main.java │ │ │ ├── Vehicle.java │ │ │ ├── VehicleDao.java │ │ │ ├── VehicleRowMapper.java │ │ │ └── config │ │ │ └── VehicleConfiguration.java │ │ └── resources │ │ ├── sql │ │ └── vehicle.sql │ │ └── vehicle-context.xml ├── Recipe_10_4_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── vehicle │ │ │ ├── JdbcVehicleDao.java │ │ │ ├── Main.java │ │ │ ├── Vehicle.java │ │ │ ├── VehicleDao.java │ │ │ └── config │ │ │ └── VehicleConfiguration.java │ │ └── resources │ │ ├── sql │ │ └── vehicle.sql │ │ └── vehicle-context.xml ├── Recipe_10_4_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── vehicle │ │ │ ├── JdbcVehicleDao.java │ │ │ ├── Main.java │ │ │ ├── Vehicle.java │ │ │ ├── VehicleDao.java │ │ │ └── config │ │ │ └── VehicleConfiguration.java │ │ └── resources │ │ ├── sql │ │ └── vehicle.sql │ │ └── vehicle-context.xml ├── Recipe_10_4_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── vehicle │ │ │ ├── JdbcVehicleDao.java │ │ │ ├── Main.java │ │ │ ├── Vehicle.java │ │ │ ├── VehicleDao.java │ │ │ └── config │ │ │ └── VehicleConfiguration.java │ │ └── resources │ │ ├── sql │ │ └── vehicle.sql │ │ └── vehicle-context.xml ├── Recipe_10_4_iv │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── vehicle │ │ │ ├── JdbcVehicleDao.java │ │ │ ├── Main.java │ │ │ ├── Vehicle.java │ │ │ ├── VehicleDao.java │ │ │ └── config │ │ │ └── VehicleConfiguration.java │ │ └── resources │ │ ├── sql │ │ └── vehicle.sql │ │ └── vehicle-context.xml ├── Recipe_10_5_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── vehicle │ │ │ ├── JdbcVehicleDao.java │ │ │ ├── Main.java │ │ │ ├── Vehicle.java │ │ │ ├── VehicleDao.java │ │ │ └── config │ │ │ └── VehicleConfiguration.java │ │ └── resources │ │ ├── sql │ │ └── vehicle.sql │ │ └── vehicle-context.xml ├── Recipe_10_5_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── vehicle │ │ │ ├── JdbcVehicleDao.java │ │ │ ├── Main.java │ │ │ ├── Vehicle.java │ │ │ ├── VehicleDao.java │ │ │ └── config │ │ │ └── VehicleConfiguration.java │ │ └── resources │ │ ├── sql │ │ └── vehicle.sql │ │ └── vehicle-context.xml ├── Recipe_10_5_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── vehicle │ │ │ ├── JdbcVehicleDao.java │ │ │ ├── Main.java │ │ │ ├── MyDuplicateKeyException.java │ │ │ ├── Vehicle.java │ │ │ ├── VehicleDao.java │ │ │ └── config │ │ │ └── VehicleConfiguration.java │ │ └── resources │ │ ├── sql-error-codes.xml │ │ ├── sql │ │ └── vehicle.sql │ │ └── vehicle-context.xml ├── Recipe_10_6_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── course │ │ │ ├── Course.java │ │ │ ├── CourseDao.java │ │ │ ├── HibernateCourseDao.java │ │ │ └── Main.java │ │ └── resources │ │ ├── com │ │ └── apress │ │ │ └── springrecipes │ │ │ └── course │ │ │ └── Course.hbm.xml │ │ └── hibernate.cfg.xml ├── Recipe_10_6_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── course │ │ │ ├── Course.java │ │ │ ├── CourseDao.java │ │ │ ├── HibernateCourseDao.java │ │ │ └── Main.java │ │ └── resources │ │ └── hibernate.cfg.xml ├── Recipe_10_6_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── course │ │ │ ├── Course.java │ │ │ ├── CourseDao.java │ │ │ ├── JpaCourseDao.java │ │ │ └── Main.java │ │ └── resources │ │ ├── META-INF │ │ └── persistence.xml │ │ └── hibernate.cfg.xml ├── Recipe_10_6_iv │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── course │ │ │ ├── Course.java │ │ │ ├── CourseDao.java │ │ │ ├── JpaCourseDao.java │ │ │ └── Main.java │ │ └── resources │ │ └── META-INF │ │ └── persistence.xml ├── Recipe_10_7_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── course │ │ │ ├── Course.java │ │ │ ├── CourseDao.java │ │ │ ├── HibernateCourseDao.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── CourseConfiguration.java │ │ └── resources │ │ ├── course-context.xml │ │ └── hibernate.cfg.xml ├── Recipe_10_7_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── course │ │ │ ├── Course.java │ │ │ ├── CourseDao.java │ │ │ ├── HibernateCourseDao.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── CourseConfiguration.java │ │ └── resources │ │ ├── course-context.xml │ │ └── hibernate.cfg.xml ├── Recipe_10_7_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── course │ │ │ ├── Course.java │ │ │ ├── CourseDao.java │ │ │ ├── HibernateCourseDao.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── CourseConfiguration.java │ │ └── resources │ │ └── course-context.xml ├── Recipe_10_7_iv │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── course │ │ │ ├── Course.java │ │ │ ├── CourseDao.java │ │ │ ├── JpaCourseDao.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── CourseConfiguration.java │ │ └── resources │ │ ├── META-INF │ │ └── persistence.xml │ │ └── course-context.xml ├── Recipe_10_7_v │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── course │ │ │ ├── Course.java │ │ │ ├── CourseDao.java │ │ │ ├── JpaCourseDao.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── CourseConfiguration.java │ │ └── resources │ │ ├── META-INF │ │ └── persistence.xml │ │ └── course-context.xml ├── Recipe_10_7_vi │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── course │ │ │ ├── Course.java │ │ │ ├── CourseDao.java │ │ │ ├── JpaCourseDao.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── CourseConfiguration.java │ │ └── resources │ │ └── course-context.xml ├── Recipe_10_8_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── course │ │ │ ├── Course.java │ │ │ ├── CourseDao.java │ │ │ ├── HibernateCourseDao.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── CourseConfiguration.java │ │ └── resources │ │ └── course-context.xml ├── Recipe_10_8_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── course │ │ │ ├── Course.java │ │ │ ├── CourseDao.java │ │ │ ├── HibernateCourseDao.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── CourseConfiguration.java │ │ └── resources │ │ └── course-context.xml ├── Recipe_10_9_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── course │ │ │ ├── Course.java │ │ │ ├── CourseDao.java │ │ │ ├── HibernateCourseDao.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── CourseConfiguration.java │ │ └── resources │ │ └── course-context.xml ├── Recipe_10_9_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── course │ │ │ ├── Course.java │ │ │ ├── CourseDao.java │ │ │ ├── HibernateCourseDao.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── CourseConfiguration.java │ │ └── resources │ │ └── course-context.xml ├── Recipe_10_9_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── course │ │ │ ├── Course.java │ │ │ ├── CourseDao.java │ │ │ ├── HibernateCourseDao.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── CourseConfiguration.java │ │ └── resources │ │ └── course-context.xml └── build.gradle ├── Ch11 ├── Recipe_11_10_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── bookshop │ │ │ ├── Book.java │ │ │ ├── BookShop.java │ │ │ ├── BookShopCashier.java │ │ │ ├── Cashier.java │ │ │ ├── JdbcBookShop.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── BookstoreConfiguration.java │ │ └── resources │ │ └── bookstore.sql ├── Recipe_11_11_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── bookshop │ │ │ ├── Book.java │ │ │ ├── BookShop.java │ │ │ ├── BookShopCashier.java │ │ │ ├── Cashier.java │ │ │ ├── JdbcBookShop.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── BookstoreConfiguration.java │ │ └── resources │ │ ├── bookstore-context.xml │ │ └── bookstore.sql ├── Recipe_11_1_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── bookshop │ │ │ ├── BookShop.java │ │ │ ├── JdbcBookShop.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── BookstoreConfiguration.java │ │ └── resources │ │ ├── bookstore-context.xml │ │ └── bookstore.sql ├── Recipe_11_1_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── bookshop │ │ │ ├── BookShop.java │ │ │ ├── JdbcBookShop.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── BookstoreConfiguration.java │ │ └── resources │ │ ├── bookstore-context.xml │ │ └── bookstore.sql ├── Recipe_11_3_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── bookshop │ │ │ ├── BookShop.java │ │ │ ├── Main.java │ │ │ ├── TransactionalJdbcBookShop.java │ │ │ └── config │ │ │ └── BookstoreConfiguration.java │ │ └── resources │ │ ├── bookstore-context.xml │ │ └── bookstore.sql ├── Recipe_11_4_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── bookshop │ │ │ ├── BookShop.java │ │ │ ├── Main.java │ │ │ ├── TransactionalJdbcBookShop.java │ │ │ └── config │ │ │ └── BookstoreConfiguration.java │ │ └── resources │ │ ├── bookstore-context.xml │ │ └── bookstore.sql ├── Recipe_11_4_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── bookshop │ │ │ ├── BookShop.java │ │ │ ├── Main.java │ │ │ ├── TransactionalJdbcBookShop.java │ │ │ └── config │ │ │ └── BookstoreConfiguration.java │ │ └── resources │ │ ├── bookstore-context.xml │ │ └── bookstore.sql ├── Recipe_11_5_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── bookshop │ │ │ ├── BookShop.java │ │ │ ├── JdbcBookShop.java │ │ │ └── Main.java │ │ └── resources │ │ ├── bookstore-context.xml │ │ └── bookstore.sql ├── Recipe_11_6_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── bookshop │ │ │ ├── BookShop.java │ │ │ ├── JdbcBookShop.java │ │ │ └── Main.java │ │ └── resources │ │ ├── bookstore-context.xml │ │ └── bookstore.sql ├── Recipe_11_6_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── bookshop │ │ │ ├── BookShop.java │ │ │ ├── JdbcBookShop.java │ │ │ └── Main.java │ │ └── resources │ │ ├── bookstore-context.xml │ │ ├── bookstore.sql │ │ └── hibernate.cfg.xml ├── Recipe_11_6_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── bookshop │ │ │ ├── BookShop.java │ │ │ ├── JdbcBookShop.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── BookstoreConfiguration.java │ │ └── resources │ │ ├── META-INF │ │ └── persistence.xml │ │ ├── bookstore-context.xml │ │ ├── bookstore.sql │ │ └── hibernate.cfg.xml ├── Recipe_11_7_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── bookshop │ │ │ ├── BookShop.java │ │ │ ├── BookShopCashier.java │ │ │ ├── Cashier.java │ │ │ ├── JdbcBookShop.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── BookstoreConfiguration.java │ │ └── resources │ │ ├── bookstore-context.xml │ │ └── bookstore.sql ├── Recipe_11_7_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── bookshop │ │ │ ├── BookShop.java │ │ │ ├── BookShopCashier.java │ │ │ ├── Cashier.java │ │ │ ├── JdbcBookShop.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── BookstoreConfiguration.java │ │ └── resources │ │ ├── bookstore-context.xml │ │ └── bookstore.sql ├── Recipe_11_7_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── bookshop │ │ │ ├── BookShop.java │ │ │ ├── BookShopCashier.java │ │ │ ├── Cashier.java │ │ │ ├── JdbcBookShop.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── BookstoreConfiguration.java │ │ └── resources │ │ ├── bookstore-context.xml │ │ └── bookstore.sql ├── Recipe_11_8_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── bookshop │ │ │ ├── Book.java │ │ │ ├── BookShop.java │ │ │ ├── BookShopCashier.java │ │ │ ├── Cashier.java │ │ │ ├── JdbcBookShop.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── BookstoreConfiguration.java │ │ └── resources │ │ ├── aspectj-beans.xml │ │ ├── bookstore.sql │ │ ├── classic-beans.xml │ │ └── spring-beans.xml ├── Recipe_11_8_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── bookshop │ │ │ ├── Book.java │ │ │ ├── BookShop.java │ │ │ ├── BookShopCashier.java │ │ │ ├── Cashier.java │ │ │ ├── JdbcBookShop.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── BookstoreConfiguration.java │ │ └── resources │ │ ├── aspectj-beans.xml │ │ ├── bookstore.sql │ │ ├── classic-beans.xml │ │ └── spring-beans.xml ├── Recipe_11_8_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── bookshop │ │ │ ├── Book.java │ │ │ ├── BookShop.java │ │ │ ├── BookShopCashier.java │ │ │ ├── Cashier.java │ │ │ ├── JdbcBookShop.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── BookstoreConfiguration.java │ │ └── resources │ │ ├── aspectj-beans.xml │ │ ├── bookstore.sql │ │ ├── classic-beans.xml │ │ └── spring-beans.xml ├── Recipe_11_8_iv │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── bookshop │ │ │ ├── Book.java │ │ │ ├── BookShop.java │ │ │ ├── BookShopCashier.java │ │ │ ├── Cashier.java │ │ │ ├── JdbcBookShop.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── BookstoreConfiguration.java │ │ └── resources │ │ ├── aspectj-beans.xml │ │ ├── bookstore.sql │ │ ├── classic-beans.xml │ │ └── spring-beans.xml ├── Recipe_11_8_v │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── bookshop │ │ │ ├── Book.java │ │ │ ├── BookShop.java │ │ │ ├── BookShopCashier.java │ │ │ ├── Cashier.java │ │ │ ├── JdbcBookShop.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── BookstoreConfiguration.java │ │ └── resources │ │ ├── aspectj-beans.xml │ │ ├── bookstore.sql │ │ ├── classic-beans.xml │ │ └── spring-beans.xml ├── Recipe_11_9_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── bookshop │ │ │ ├── Book.java │ │ │ ├── BookShop.java │ │ │ ├── BookShopCashier.java │ │ │ ├── Cashier.java │ │ │ ├── JdbcBookShop.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── BookstoreConfiguration.java │ │ └── resources │ │ ├── aspectj-beans.xml │ │ ├── bookstore.sql │ │ ├── classic-beans.xml │ │ └── spring-beans.xml ├── build.gradle └── readme.txt ├── Ch12 ├── Recipe_12_1_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── springbatch │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── BatchConfiguration.java │ │ └── resources │ │ ├── batch.properties │ │ ├── batch.xml │ │ ├── logback.xml │ │ └── sql │ │ ├── create_schema.sql │ │ ├── drop_all.sql │ │ ├── reset_user_registration.sql │ │ └── truncate_all.sql ├── Recipe_12_1_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── springbatch │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── BatchConfiguration.java │ │ └── resources │ │ ├── batch.properties │ │ ├── batch.xml │ │ ├── logback.xml │ │ └── sql │ │ ├── create_schema.sql │ │ ├── drop_all.sql │ │ ├── reset_user_registration.sql │ │ └── truncate_all.sql ├── Recipe_12_1_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── springbatch │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── BatchConfiguration.java │ │ └── resources │ │ ├── batch.properties │ │ ├── batch.xml │ │ ├── logback.xml │ │ └── sql │ │ ├── create_schema.sql │ │ ├── drop_all.sql │ │ ├── reset_user_registration.sql │ │ └── truncate_all.sql ├── Recipe_12_1_iv │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── springbatch │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── BatchConfiguration.java │ │ └── resources │ │ ├── batch.properties │ │ ├── logback.xml │ │ └── sql │ │ ├── create_schema.sql │ │ ├── drop_all.sql │ │ ├── reset_user_registration.sql │ │ └── truncate_all.sql ├── Recipe_12_2_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── springbatch │ │ │ ├── Main.java │ │ │ ├── UserRegistration.java │ │ │ └── config │ │ │ └── BatchConfiguration.java │ │ └── resources │ │ ├── batch.properties │ │ ├── batch.xml │ │ ├── logback.xml │ │ ├── sql │ │ ├── create_schema.sql │ │ ├── drop_all.sql │ │ ├── reset_user_registration.sql │ │ └── truncate_all.sql │ │ └── user-job.xml ├── Recipe_12_2_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── springbatch │ │ │ ├── Main.java │ │ │ ├── UserRegistration.java │ │ │ └── config │ │ │ ├── BatchConfiguration.java │ │ │ └── UserJob.java │ │ └── resources │ │ ├── batch.properties │ │ ├── batch.xml │ │ ├── logback.xml │ │ ├── sql │ │ ├── create_schema.sql │ │ ├── drop_all.sql │ │ ├── reset_user_registration.sql │ │ └── truncate_all.sql │ │ └── user-job.xml ├── Recipe_12_3 │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── springbatch │ │ │ ├── Main.java │ │ │ ├── UserRegistration.java │ │ │ ├── UserRegistrationItemReader.java │ │ │ ├── UserRegistrationService.java │ │ │ ├── UserRegistrationServiceItemWriter.java │ │ │ └── config │ │ │ └── BatchConfiguration.java │ │ └── resources │ │ ├── batch.properties │ │ ├── batch.xml │ │ ├── logback.xml │ │ ├── sql │ │ ├── create_schema.sql │ │ ├── drop_all.sql │ │ ├── reset_user_registration.sql │ │ └── truncate_all.sql │ │ └── user-job.xml ├── Recipe_12_4_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── springbatch │ │ │ ├── Main.java │ │ │ ├── UserRegistration.java │ │ │ ├── UserRegistrationValidationItemProcessor.java │ │ │ └── config │ │ │ └── BatchConfiguration.java │ │ └── resources │ │ ├── batch.properties │ │ ├── batch.xml │ │ ├── logback.xml │ │ ├── sql │ │ ├── create_schema.sql │ │ ├── drop_all.sql │ │ ├── reset_user_registration.sql │ │ └── truncate_all.sql │ │ └── user-job.xml ├── Recipe_12_4_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── springbatch │ │ │ ├── Main.java │ │ │ ├── UserRegistration.java │ │ │ ├── UserRegistrationValidationItemProcessor.java │ │ │ └── config │ │ │ ├── BatchConfiguration.java │ │ │ └── UserJob.java │ │ └── resources │ │ ├── batch.properties │ │ ├── batch.xml │ │ ├── logback.xml │ │ ├── sql │ │ ├── create_schema.sql │ │ ├── drop_all.sql │ │ ├── reset_user_registration.sql │ │ └── truncate_all.sql │ │ └── user-job.xml ├── Recipe_12_5_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── springbatch │ │ │ ├── Main.java │ │ │ ├── UserRegistration.java │ │ │ ├── UserRegistrationValidationItemProcessor.java │ │ │ └── config │ │ │ └── BatchConfiguration.java │ │ └── resources │ │ ├── batch.properties │ │ ├── batch.xml │ │ ├── logback.xml │ │ ├── sql │ │ ├── create_schema.sql │ │ ├── drop_all.sql │ │ ├── reset_user_registration.sql │ │ └── truncate_all.sql │ │ └── user-job.xml ├── Recipe_12_5_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── springbatch │ │ │ ├── Main.java │ │ │ ├── UserRegistration.java │ │ │ ├── UserRegistrationValidationItemProcessor.java │ │ │ └── config │ │ │ ├── BatchConfiguration.java │ │ │ └── UserJob.java │ │ └── resources │ │ ├── batch.properties │ │ ├── batch.xml │ │ ├── logback.xml │ │ ├── sql │ │ ├── create_schema.sql │ │ ├── drop_all.sql │ │ ├── reset_user_registration.sql │ │ └── truncate_all.sql │ │ └── user-job.xml ├── Recipe_12_6_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── springbatch │ │ │ ├── Main.java │ │ │ ├── UserRegistration.java │ │ │ ├── UserRegistrationService.java │ │ │ └── config │ │ │ └── BatchConfiguration.java │ │ └── resources │ │ ├── batch.properties │ │ ├── batch.xml │ │ ├── logback.xml │ │ ├── sql │ │ ├── create_schema.sql │ │ ├── drop_all.sql │ │ ├── reset_user_registration.sql │ │ └── truncate_all.sql │ │ └── user-job.xml ├── Recipe_12_6_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── springbatch │ │ │ ├── Main.java │ │ │ ├── RetryableUserRegistrationServiceItemWriter.java │ │ │ ├── UserRegistration.java │ │ │ ├── UserRegistrationService.java │ │ │ └── config │ │ │ └── BatchConfiguration.java │ │ └── resources │ │ ├── batch.properties │ │ ├── batch.xml │ │ ├── logback.xml │ │ ├── sql │ │ ├── create_schema.sql │ │ ├── drop_all.sql │ │ ├── reset_user_registration.sql │ │ └── truncate_all.sql │ │ └── user-job.xml ├── Recipe_12_6_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── springbatch │ │ │ ├── Main.java │ │ │ ├── UserRegistration.java │ │ │ ├── UserRegistrationService.java │ │ │ └── config │ │ │ ├── BatchConfiguration.java │ │ │ └── UserJob.java │ │ └── resources │ │ ├── batch.properties │ │ ├── batch.xml │ │ ├── logback.xml │ │ ├── sql │ │ ├── create_schema.sql │ │ ├── drop_all.sql │ │ ├── reset_user_registration.sql │ │ └── truncate_all.sql │ │ └── user-job.xml ├── Recipe_12_7_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── springbatch │ │ │ ├── HoroscopeDecider.java │ │ │ ├── Main.java │ │ │ ├── UserRegistration.java │ │ │ ├── UserRegistrationService.java │ │ │ └── config │ │ │ └── BatchConfiguration.java │ │ └── resources │ │ ├── batch.properties │ │ ├── batch.xml │ │ ├── logback.xml │ │ ├── sql │ │ ├── create_schema.sql │ │ ├── drop_all.sql │ │ ├── reset_user_registration.sql │ │ └── truncate_all.sql │ │ └── user-job.xml ├── Recipe_12_7_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── springbatch │ │ │ ├── HoroscopeDecider.java │ │ │ ├── Main.java │ │ │ ├── UserRegistration.java │ │ │ ├── UserRegistrationService.java │ │ │ └── config │ │ │ └── BatchConfiguration.java │ │ └── resources │ │ ├── batch.properties │ │ ├── batch.xml │ │ ├── logback.xml │ │ ├── sql │ │ ├── create_schema.sql │ │ ├── drop_all.sql │ │ ├── reset_user_registration.sql │ │ └── truncate_all.sql │ │ └── user-job.xml ├── Recipe_12_8_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── springbatch │ │ │ ├── Main.java │ │ │ ├── UserRegistration.java │ │ │ ├── UserRegistrationService.java │ │ │ └── config │ │ │ └── BatchConfiguration.java │ │ └── resources │ │ ├── batch.properties │ │ ├── batch.xml │ │ ├── logback.xml │ │ ├── sql │ │ ├── create_schema.sql │ │ ├── drop_all.sql │ │ ├── reset_user_registration.sql │ │ └── truncate_all.sql │ │ └── user-job.xml ├── Recipe_12_8_iI │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── springbatch │ │ │ ├── Main.java │ │ │ ├── UserRegistration.java │ │ │ └── UserRegistrationService.java │ │ └── resources │ │ ├── aspectj-beans.xml │ │ ├── batch.properties │ │ ├── batch.xml │ │ ├── bookstore.sql │ │ ├── classic-beans.xml │ │ ├── logback.xml │ │ ├── spring-beans.xml │ │ ├── sql │ │ ├── create_schema.sql │ │ ├── drop_all.sql │ │ ├── reset_user_registration.sql │ │ └── truncate_all.sql │ │ └── user-job.xml ├── Recipe_12_8_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── springbatch │ │ │ ├── Main.java │ │ │ ├── UserRegistration.java │ │ │ ├── UserRegistrationService.java │ │ │ └── config │ │ │ ├── BatchConfiguration.java │ │ │ └── CustomBatchConfigurer.java │ │ └── resources │ │ ├── batch.properties │ │ ├── batch.xml │ │ ├── logback.xml │ │ ├── sql │ │ ├── create_schema.sql │ │ ├── drop_all.sql │ │ ├── reset_user_registration.sql │ │ └── truncate_all.sql │ │ └── user-job.xml ├── Recipe_12_8_iv │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── springbatch │ │ │ ├── Main.java │ │ │ ├── UserRegistration.java │ │ │ ├── UserRegistrationService.java │ │ │ ├── config │ │ │ └── BatchConfiguration.java │ │ │ └── scheduler │ │ │ └── JobScheduler.java │ │ └── resources │ │ ├── batch.properties │ │ ├── batch.xml │ │ ├── logback.xml │ │ ├── sql │ │ ├── create_schema.sql │ │ ├── drop_all.sql │ │ ├── reset_user_registration.sql │ │ └── truncate_all.sql │ │ └── user-job.xml ├── Recipe_12_9 │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── springbatch │ │ │ ├── Main.java │ │ │ ├── UserRegistration.java │ │ │ └── config │ │ │ └── BatchConfiguration.java │ │ └── resources │ │ ├── batch.properties │ │ ├── batch.xml │ │ ├── logback.xml │ │ ├── sql │ │ ├── create_schema.sql │ │ ├── drop_all.sql │ │ ├── reset_user_registration.sql │ │ └── truncate_all.sql │ │ └── user-job.xml └── build.gradle ├── Ch13 ├── Recipe_13_1_i │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── nosql │ │ ├── Main.java │ │ ├── MongoDBVehicleRepository.java │ │ ├── Vehicle.java │ │ └── VehicleRepository.java ├── Recipe_13_1_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── nosql │ │ │ ├── Main.java │ │ │ ├── MongoDBVehicleRepository.java │ │ │ ├── Vehicle.java │ │ │ ├── VehicleRepository.java │ │ │ └── config │ │ │ └── MongoConfiguration.java │ │ └── resources │ │ └── logback.xml ├── Recipe_13_1_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── nosql │ │ │ ├── Main.java │ │ │ ├── MongoDBVehicleRepository.java │ │ │ ├── Vehicle.java │ │ │ ├── VehicleRepository.java │ │ │ └── config │ │ │ └── MongoConfiguration.java │ │ └── resources │ │ └── logback.xml ├── Recipe_13_1_iv │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── nosql │ │ │ ├── Main.java │ │ │ ├── MongoDBVehicleRepository.java │ │ │ ├── Vehicle.java │ │ │ ├── VehicleRepository.java │ │ │ └── config │ │ │ └── MongoConfiguration.java │ │ └── resources │ │ └── logback.xml ├── Recipe_13_1_v │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── nosql │ │ │ ├── Main.java │ │ │ ├── Vehicle.java │ │ │ ├── VehicleRepository.java │ │ │ └── config │ │ │ └── MongoConfiguration.java │ │ └── resources │ │ └── logback.xml ├── Recipe_13_2_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── nosql │ │ │ └── Main.java │ │ └── resources │ │ └── logback.xml ├── Recipe_13_2_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── nosql │ │ │ └── Main.java │ │ └── resources │ │ └── logback.xml ├── Recipe_13_2_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── nosql │ │ │ ├── Main.java │ │ │ ├── SerializationUtils.java │ │ │ └── Vehicle.java │ │ └── resources │ │ └── logback.xml ├── Recipe_13_2_iv │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── nosql │ │ │ ├── Main.java │ │ │ └── Vehicle.java │ │ └── resources │ │ └── logback.xml ├── Recipe_13_2_v │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── nosql │ │ │ ├── Main.java │ │ │ ├── Vehicle.java │ │ │ └── config │ │ │ └── RedisConfig.java │ │ └── resources │ │ └── logback.xml ├── Recipe_13_2_vi │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── nosql │ │ │ ├── Main.java │ │ │ ├── Vehicle.java │ │ │ └── config │ │ │ └── RedisConfig.java │ │ └── resources │ │ └── logback.xml ├── Recipe_13_3_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── hadoop │ │ │ ├── IntSumReducer.java │ │ │ ├── TokenizerMapper.java │ │ │ └── WordCount.java │ │ └── resources │ │ └── logback.xml ├── Recipe_13_3_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── hadoop │ │ │ ├── IntSumReducer.java │ │ │ ├── TokenizerMapper.java │ │ │ └── WordCountSpring.java │ │ └── resources │ │ ├── logback.xml │ │ └── wordcount-context.xml ├── Recipe_13_4_i │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── nosql │ │ └── Main.java ├── Recipe_13_4_ii │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── nosql │ │ └── Main.java ├── Recipe_13_4_iii │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── nosql │ │ ├── Character.java │ │ ├── Main.java │ │ ├── Neo4jStarwarsRepository.java │ │ ├── Planet.java │ │ ├── RelationshipTypes.java │ │ └── StarwarsRepository.java ├── Recipe_13_4_iv │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── nosql │ │ │ ├── Character.java │ │ │ ├── Main.java │ │ │ ├── Neo4jStarwarsRepository.java │ │ │ ├── Planet.java │ │ │ ├── RelationshipTypes.java │ │ │ ├── StarwarsRepository.java │ │ │ └── config │ │ │ └── StarwarsConfig.java │ │ └── resources │ │ └── logback.xml ├── Recipe_13_4_v │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── nosql │ │ │ ├── Character.java │ │ │ ├── CharacterRepository.java │ │ │ ├── Main.java │ │ │ ├── Neo4jStarwarsService.java │ │ │ ├── Planet.java │ │ │ ├── PlanetRepository.java │ │ │ ├── RelationshipTypes.java │ │ │ ├── StarwarsService.java │ │ │ └── config │ │ │ └── StarwarsConfig.java │ │ └── resources │ │ └── logback.xml ├── Recipe_13_4_vi │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── nosql │ │ │ ├── Character.java │ │ │ ├── CharacterRepository.java │ │ │ ├── Main.java │ │ │ ├── Neo4jStarwarsService.java │ │ │ ├── Planet.java │ │ │ ├── PlanetRepository.java │ │ │ ├── RelationshipTypes.java │ │ │ ├── StarwarsService.java │ │ │ └── config │ │ │ └── StarwarsConfig.java │ │ └── resources │ │ └── logback.xml └── build.gradle ├── Ch14 ├── Recipe_14_10 │ ├── README.txt │ ├── request.xml │ ├── response.xml │ └── temperature.xsd ├── Recipe_14_11_SpringWS_Client │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── weather │ │ │ ├── SpringWSInvokerClient.java │ │ │ ├── TemperatureInfo.java │ │ │ ├── WeatherService.java │ │ │ ├── WeatherServiceClient.java │ │ │ ├── WeatherServiceProxy.java │ │ │ └── config │ │ │ └── SpringWsClientConfiguration.java │ │ └── resources │ │ └── appContext.xml ├── Recipe_14_11_SpringWS_Server │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── weather │ │ │ ├── TemperatureEndpoint.java │ │ │ ├── TemperatureInfo.java │ │ │ ├── WeatherService.java │ │ │ ├── WeatherServiceImpl.java │ │ │ └── config │ │ │ ├── Initializer.java │ │ │ └── SpringWsConfiguration.java │ │ ├── resources │ │ └── META-INF │ │ │ └── xsd │ │ │ └── temperature.xsd │ │ └── webapp │ │ └── WEB-INF │ │ └── springws-servlet.xml ├── Recipe_14_12_SpringWS_Client │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── weather │ │ │ ├── DateFieldHandler.java │ │ │ ├── GetTemperaturesRequest.java │ │ │ ├── GetTemperaturesResponse.java │ │ │ ├── SpringWSInvokerClient.java │ │ │ ├── TemperatureInfo.java │ │ │ ├── WeatherService.java │ │ │ ├── WeatherServiceClient.java │ │ │ ├── WeatherServiceProxy.java │ │ │ └── config │ │ │ └── SpringWsClientConfiguration.java │ │ └── resources │ │ ├── appContext.xml │ │ └── mapping.xml ├── Recipe_14_12_SpringWS_Server │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── weather │ │ │ ├── DateFieldHandler.java │ │ │ ├── GetTemperaturesRequest.java │ │ │ ├── GetTemperaturesResponse.java │ │ │ ├── JaxWsServer.java │ │ │ ├── TemperatureInfo.java │ │ │ ├── TemperatureMarshallingEndpoint.java │ │ │ ├── WeatherService.java │ │ │ ├── WeatherServiceImpl.java │ │ │ └── config │ │ │ ├── Initializer.java │ │ │ └── SpringWsConfiguration.java │ │ ├── resources │ │ └── mapping.xml │ │ └── webapp │ │ └── WEB-INF │ │ ├── springws-servlet.xml │ │ └── temperature.xsd ├── Recipe_14_1_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── replicator │ │ │ ├── FileCopier.java │ │ │ ├── FileCopierJMXImpl.java │ │ │ ├── FileReplicator.java │ │ │ ├── FileReplicatorJMXImpl.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── FileReplicatorConfig.java │ │ └── resources │ │ └── beans-jmx.xml ├── Recipe_14_1_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── replicator │ │ │ ├── FileCopier.java │ │ │ ├── FileCopierJMXImpl.java │ │ │ ├── FileReplicator.java │ │ │ ├── FileReplicatorJMXImpl.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ ├── FileReplicatorConfig.java │ │ │ └── JmxConfig.java │ │ └── resources │ │ └── beans-jmx.xml ├── Recipe_14_1_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── replicator │ │ │ ├── FileCopier.java │ │ │ ├── FileCopierJMXImpl.java │ │ │ ├── FileReplicator.java │ │ │ ├── FileReplicatorJMXImpl.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ ├── FileReplicatorConfig.java │ │ │ └── JmxConfig.java │ │ └── resources │ │ └── beans-jmx.xml ├── Recipe_14_1_iv │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── replicator │ │ │ ├── FileCopier.java │ │ │ ├── FileCopierJMXImpl.java │ │ │ ├── FileReplicator.java │ │ │ ├── FileReplicatorJMXImpl.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ ├── FileReplicatorConfig.java │ │ │ └── JmxConfig.java │ │ └── resources │ │ └── beans-jmx.xml ├── Recipe_14_1_v │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── replicator │ │ │ ├── FileCopier.java │ │ │ ├── FileCopierJMXImpl.java │ │ │ ├── FileReplicator.java │ │ │ ├── FileReplicatorJMXImpl.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ ├── FileReplicatorConfig.java │ │ │ └── JmxConfig.java │ │ └── resources │ │ └── beans-jmx.xml ├── Recipe_14_1_vi │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── replicator │ │ │ ├── FileCopier.java │ │ │ ├── FileCopierJMXImpl.java │ │ │ ├── FileReplicator.java │ │ │ ├── FileReplicatorJMXImpl.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ ├── FileReplicatorConfig.java │ │ │ └── JmxConfig.java │ │ └── resources │ │ └── beans-jmx.xml ├── Recipe_14_1_vii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── replicator │ │ │ ├── FileCopier.java │ │ │ ├── FileCopierJMXImpl.java │ │ │ ├── FileReplicator.java │ │ │ ├── FileReplicatorJMXImpl.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ ├── FileReplicatorConfig.java │ │ │ └── JmxConfig.java │ │ └── resources │ │ └── beans-jmx.xml ├── Recipe_14_1_viii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── replicator │ │ │ ├── FileCopier.java │ │ │ ├── FileCopierJMXImpl.java │ │ │ ├── FileReplicator.java │ │ │ ├── FileReplicatorJMXImpl.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── FileReplicatorConfig.java │ │ └── resources │ │ └── beans-jmx.xml ├── Recipe_14_2_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── replicator │ │ │ ├── FileCopier.java │ │ │ ├── FileCopierJMXImpl.java │ │ │ ├── FileReplicator.java │ │ │ ├── FileReplicatorJMXImpl.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── FileReplicatorConfig.java │ │ └── resources │ │ └── beans-jmx.xml ├── Recipe_14_2_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── replicator │ │ │ ├── FileCopier.java │ │ │ ├── FileCopierJMXImpl.java │ │ │ ├── FileReplicator.java │ │ │ ├── FileReplicatorJMXImpl.java │ │ │ ├── Main.java │ │ │ ├── ReplicationNotificationListener.java │ │ │ └── config │ │ │ └── FileReplicatorConfig.java │ │ └── resources │ │ └── beans-jmx.xml ├── Recipe_14_2_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── replicator │ │ │ ├── FileCopier.java │ │ │ ├── FileCopierJMXImpl.java │ │ │ ├── FileReplicator.java │ │ │ ├── FileReplicatorJMXImpl.java │ │ │ ├── Main.java │ │ │ ├── ReplicationNotificationListener.java │ │ │ └── config │ │ │ └── FileReplicatorConfig.java │ │ └── resources │ │ └── beans-jmx.xml ├── Recipe_14_3_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── replicator │ │ │ ├── Client.java │ │ │ ├── ReplicationNotificationListener.java │ │ │ └── config │ │ │ └── JmxClientConfiguration.java │ │ └── resources │ │ └── beans-jmx-client.xml ├── Recipe_14_3_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── replicator │ │ │ ├── Client.java │ │ │ ├── FileCopier.java │ │ │ ├── FileReplicator.java │ │ │ └── config │ │ │ └── JmxClientConfiguration.java │ │ └── resources │ │ └── beans-jmx-client.xml ├── Recipe_14_4_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── replicator │ │ │ ├── EmailErrorNotifier.java │ │ │ ├── ErrorNotifier.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── MailConfiguration.java │ │ └── resources │ │ └── beans.xml ├── Recipe_14_4_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── replicator │ │ │ ├── EmailErrorNotifier.java │ │ │ ├── ErrorNotifier.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── MailConfiguration.java │ │ └── resources │ │ └── beans.xml ├── Recipe_14_4_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── replicator │ │ │ ├── EmailErrorNotifier.java │ │ │ ├── ErrorNotifier.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── MailConfiguration.java │ │ └── resources │ │ └── beans.xml ├── Recipe_14_4_iv │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── replicator │ │ │ ├── EmailErrorNotifier.java │ │ │ ├── ErrorNotifier.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── MailConfiguration.java │ │ └── resources │ │ └── beans.xml ├── Recipe_14_4_v │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── replicator │ │ │ ├── EmailErrorNotifier.java │ │ │ ├── ErrorNotifier.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── MailConfiguration.java │ │ └── resources │ │ └── beans.xml ├── Recipe_14_5_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── replicator │ │ │ ├── FileCopier.java │ │ │ ├── FileCopierImpl.java │ │ │ ├── FileReplicationJob.java │ │ │ ├── FileReplicator.java │ │ │ ├── FileReplicatorImpl.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── FileReplicatorConfig.java │ │ └── resources │ │ └── beans.xml ├── Recipe_14_5_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── replicator │ │ │ ├── FileCopier.java │ │ │ ├── FileCopierImpl.java │ │ │ ├── FileReplicationJob.java │ │ │ ├── FileReplicator.java │ │ │ ├── FileReplicatorImpl.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── FileReplicatorConfig.java │ │ └── resources │ │ └── beans.xml ├── Recipe_14_5_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── replicator │ │ │ ├── FileCopier.java │ │ │ ├── FileCopierImpl.java │ │ │ ├── FileReplicationJob.java │ │ │ ├── FileReplicator.java │ │ │ ├── FileReplicatorImpl.java │ │ │ ├── Main.java │ │ │ ├── QuartzJobBean.java │ │ │ └── config │ │ │ ├── FileReplicatorConfig.java │ │ │ └── QuartzConfiguration.java │ │ └── resources │ │ └── beans.xml ├── Recipe_14_5_iv │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── replicator │ │ │ ├── FileCopier.java │ │ │ ├── FileCopierImpl.java │ │ │ ├── FileReplicationJob.java │ │ │ ├── FileReplicator.java │ │ │ ├── FileReplicatorImpl.java │ │ │ ├── Main.java │ │ │ ├── QuartzJobBean.java │ │ │ └── config │ │ │ ├── FileReplicatorConfig.java │ │ │ └── QuartzConfiguration.java │ │ └── resources │ │ └── beans.xml ├── Recipe_14_6_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── replicator │ │ │ ├── FileCopier.java │ │ │ ├── FileCopierImpl.java │ │ │ ├── FileReplicator.java │ │ │ ├── FileReplicatorImpl.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ ├── FileReplicatorConfig.java │ │ │ └── SchedulingConfiguration.java │ │ └── resources │ │ └── beans.xml ├── Recipe_14_6_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── replicator │ │ │ ├── FileCopier.java │ │ │ ├── FileCopierImpl.java │ │ │ ├── FileReplicator.java │ │ │ ├── FileReplicatorImpl.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ ├── FileReplicatorConfig.java │ │ │ └── SchedulingConfiguration.java │ │ └── resources │ │ └── beans.xml ├── Recipe_14_7_Client │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── weather │ │ │ ├── RmiClient.java │ │ │ ├── TemperatureInfo.java │ │ │ ├── WeatherService.java │ │ │ ├── WeatherServiceClient.java │ │ │ └── config │ │ │ └── WeatherConfigClient.java │ │ └── resources │ │ └── appContext.xml ├── Recipe_14_7_Server │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── weather │ │ │ ├── RmiServer.java │ │ │ ├── TemperatureInfo.java │ │ │ ├── WeatherService.java │ │ │ ├── WeatherServiceImpl.java │ │ │ └── config │ │ │ └── WeatherConfigServer.java │ │ └── resources │ │ └── appContext.xml ├── Recipe_14_8_Burlap_Client │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── weather │ │ │ ├── BurlapClient.java │ │ │ ├── TemperatureInfo.java │ │ │ ├── WeatherService.java │ │ │ ├── WeatherServiceClient.java │ │ │ └── config │ │ │ └── WeatherConfigBurlapClient.java │ │ └── resources │ │ └── appContext.xml ├── Recipe_14_8_Burlap_Server │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── weather │ │ │ ├── TemperatureInfo.java │ │ │ ├── WeatherService.java │ │ │ ├── WeatherServiceImpl.java │ │ │ └── config │ │ │ ├── Initializer.java │ │ │ └── WeatherConfigBurlapServer.java │ │ └── webapp │ │ └── WEB-INF │ │ └── appContext.xml ├── Recipe_14_8_HTTPInvoker_Client │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── weather │ │ │ ├── HTTPInvokerClient.java │ │ │ ├── TemperatureInfo.java │ │ │ ├── WeatherService.java │ │ │ ├── WeatherServiceClient.java │ │ │ └── config │ │ │ └── WeatherConfigHTTPInvokerClient.java │ │ └── resources │ │ └── appContext.xml ├── Recipe_14_8_HTTPInvoker_Server │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── weather │ │ │ ├── TemperatureInfo.java │ │ │ ├── WeatherService.java │ │ │ ├── WeatherServiceImpl.java │ │ │ └── config │ │ │ ├── Initializer.java │ │ │ └── WeatherConfigHTTPInvokerServer.java │ │ └── webapp │ │ └── WEB-INF │ │ └── appContext.xml ├── Recipe_14_8_Hessian_Client │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── weather │ │ │ ├── HessianClient.java │ │ │ ├── TemperatureInfo.java │ │ │ ├── WeatherService.java │ │ │ ├── WeatherServiceClient.java │ │ │ └── config │ │ │ └── WeatherConfigHessianClient.java │ │ └── resources │ │ └── appContext.xml ├── Recipe_14_8_Hessian_Server │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── weather │ │ │ ├── TemperatureInfo.java │ │ │ ├── WeatherService.java │ │ │ ├── WeatherServiceImpl.java │ │ │ └── config │ │ │ ├── Initializer.java │ │ │ └── WeatherConfigHessianServer.java │ │ └── webapp │ │ └── WEB-INF │ │ └── appContext.xml ├── Recipe_14_9_CXF_Client │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── weather │ │ │ ├── CxfInvokerClient.java │ │ │ ├── TemperatureInfo.java │ │ │ ├── WeatherService.java │ │ │ ├── WeatherServiceClient.java │ │ │ └── config │ │ │ └── WeatherConfigCxfClient.java │ │ └── resources │ │ └── appContext.xml ├── Recipe_14_9_CXF_Server │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── weather │ │ │ ├── JaxWsServer.java │ │ │ ├── TemperatureInfo.java │ │ │ ├── WeatherService.java │ │ │ ├── WeatherServiceImpl.java │ │ │ └── config │ │ │ ├── Initializer.java │ │ │ └── WeatherConfig.java │ │ └── resources │ │ └── META-INF │ │ └── spring │ │ └── cxf-context.xml ├── Recipe_14_9_JDK_Server │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── weather │ │ │ ├── JaxWsServer.java │ │ │ ├── TemperatureInfo.java │ │ │ ├── WeatherService.java │ │ │ ├── WeatherServiceImpl.java │ │ │ └── config │ │ │ └── WeatherConfigJaxWsServer.java │ │ └── resources │ │ └── appContext.xml ├── Recipe_14_9_SpringJaxWs_Client │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── weather │ │ │ ├── JaxWsInvokerClient.java │ │ │ ├── TemperatureInfo.java │ │ │ ├── WeatherService.java │ │ │ ├── WeatherServiceClient.java │ │ │ └── config │ │ │ └── WeatherConfigJaxWsClient.java │ │ └── resources │ │ └── appContext.xml └── build.gradle ├── Ch15 ├── Recipe_15_1_i_BackOffice │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── post │ │ │ ├── BackOffice.java │ │ │ ├── BackOfficeImpl.java │ │ │ ├── BackOfficeMain.java │ │ │ ├── Mail.java │ │ │ └── config │ │ │ └── BackOfficeConfiguration.java │ │ └── resources │ │ ├── beans-back.xml │ │ └── log4j.properties ├── Recipe_15_1_i_FrontDesk │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── post │ │ │ ├── FrontDesk.java │ │ │ ├── FrontDeskImpl.java │ │ │ ├── FrontDeskMain.java │ │ │ ├── Mail.java │ │ │ └── config │ │ │ └── FrontOfficeConfiguration.java │ │ └── resources │ │ ├── beans-front.xml │ │ └── log4j.properties ├── Recipe_15_1_ii_BackOffice │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── post │ │ │ ├── BackOffice.java │ │ │ ├── BackOfficeImpl.java │ │ │ ├── BackOfficeMain.java │ │ │ ├── Mail.java │ │ │ └── config │ │ │ └── BackOfficeConfiguration.java │ │ └── resources │ │ ├── beans-back.xml │ │ └── log4j.properties ├── Recipe_15_1_ii_FrontDesk │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── post │ │ │ ├── FrontDesk.java │ │ │ ├── FrontDeskImpl.java │ │ │ ├── FrontDeskMain.java │ │ │ ├── Mail.java │ │ │ └── config │ │ │ └── FrontOfficeConfiguration.java │ │ └── resources │ │ └── beans-front.xml ├── Recipe_15_1_iii_BackOffice │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── post │ │ │ ├── BackOffice.java │ │ │ ├── BackOfficeImpl.java │ │ │ ├── BackOfficeMain.java │ │ │ ├── Mail.java │ │ │ └── config │ │ │ └── BackOfficeConfiguration.java │ │ └── resources │ │ ├── beans-back.xml │ │ └── log4j.properties ├── Recipe_15_1_iii_FrontDesk │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── post │ │ │ ├── FrontDesk.java │ │ │ ├── FrontDeskImpl.java │ │ │ ├── FrontDeskMain.java │ │ │ ├── Mail.java │ │ │ └── config │ │ │ └── FrontOfficeConfiguration.java │ │ └── resources │ │ ├── beans-front.xml │ │ └── log4j.properties ├── Recipe_15_1_iv_BackOffice │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── post │ │ │ ├── BackOffice.java │ │ │ ├── BackOfficeImpl.java │ │ │ ├── BackOfficeMain.java │ │ │ ├── Mail.java │ │ │ └── config │ │ │ └── BackOfficeConfiguration.java │ │ └── resources │ │ ├── beans-back.xml │ │ └── log4j.properties ├── Recipe_15_1_iv_FrontDesk │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── post │ │ │ ├── FrontDesk.java │ │ │ ├── FrontDeskImpl.java │ │ │ ├── FrontDeskMain.java │ │ │ ├── Mail.java │ │ │ └── config │ │ │ └── FrontOfficeConfiguration.java │ │ └── resources │ │ ├── beans-front.xml │ │ └── log4j.properties ├── Recipe_15_2_i │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ └── gradlew ├── Recipe_15_2_i_BackOffice │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── post │ │ │ ├── BackOffice.java │ │ │ ├── BackOfficeImpl.java │ │ │ ├── BackOfficeMain.java │ │ │ ├── Mail.java │ │ │ └── config │ │ │ └── BackOfficeConfiguration.java │ │ └── resources │ │ ├── beans-back.xml │ │ └── log4j.properties ├── Recipe_15_2_i_FrontDesk │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── post │ │ │ ├── FrontDesk.java │ │ │ ├── FrontDeskImpl.java │ │ │ ├── FrontDeskMain.java │ │ │ ├── Mail.java │ │ │ └── config │ │ │ └── FrontOfficeConfiguration.java │ │ └── resources │ │ ├── beans-front.xml │ │ └── log4j.properties ├── Recipe_15_2_ii_BackOffice │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── post │ │ │ ├── BackOffice.java │ │ │ ├── BackOfficeImpl.java │ │ │ ├── BackOfficeMain.java │ │ │ ├── Mail.java │ │ │ ├── MailMessageConverter.java │ │ │ └── config │ │ │ └── BackOfficeConfiguration.java │ │ └── resources │ │ ├── beans-back.xml │ │ └── log4j.properties ├── Recipe_15_2_ii_FrontDesk │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── post │ │ │ ├── FrontDesk.java │ │ │ ├── FrontDeskImpl.java │ │ │ ├── FrontDeskMain.java │ │ │ ├── Mail.java │ │ │ ├── MailMessageConverter.java │ │ │ └── config │ │ │ └── FrontOfficeConfiguration.java │ │ └── resources │ │ ├── beans-front.xml │ │ └── log4j.properties ├── Recipe_15_3_BackOffice │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── post │ │ │ ├── BackOffice.java │ │ │ ├── BackOfficeImpl.java │ │ │ ├── BackOfficeMain.java │ │ │ ├── Mail.java │ │ │ ├── MailMessageConverter.java │ │ │ └── config │ │ │ └── BackOfficeConfiguration.java │ │ └── resources │ │ ├── beans-back.xml │ │ └── log4j.properties ├── Recipe_15_3_FrontDesk │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── post │ │ │ ├── FrontDesk.java │ │ │ ├── FrontDeskImpl.java │ │ │ ├── FrontDeskMain.java │ │ │ ├── Mail.java │ │ │ ├── MailMessageConverter.java │ │ │ └── config │ │ │ └── FrontOfficeConfiguration.java │ │ └── resources │ │ ├── beans-front.xml │ │ └── log4j.properties ├── Recipe_15_4_i_BackOffice │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── post │ │ │ ├── BackOffice.java │ │ │ ├── BackOfficeMain.java │ │ │ ├── Mail.java │ │ │ ├── MailListener.java │ │ │ └── config │ │ │ └── BackOfficeConfiguration.java │ │ └── resources │ │ ├── beans-back.xml │ │ └── log4j.properties ├── Recipe_15_4_i_FrontDesk │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── post │ │ │ ├── FrontDesk.java │ │ │ ├── FrontDeskImpl.java │ │ │ ├── FrontDeskMain.java │ │ │ ├── Mail.java │ │ │ └── config │ │ │ └── FrontOfficeConfiguration.java │ │ └── resources │ │ ├── beans-front.xml │ │ └── log4j.properties ├── Recipe_15_4_ii_BackOffice │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── post │ │ │ ├── BackOffice.java │ │ │ ├── BackOfficeMain.java │ │ │ ├── Mail.java │ │ │ ├── MailListener.java │ │ │ └── config │ │ │ └── BackOfficeConfiguration.java │ │ └── resources │ │ ├── beans-back.xml │ │ └── log4j.properties ├── Recipe_15_4_ii_FrontDesk │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── post │ │ │ ├── FrontDesk.java │ │ │ ├── FrontDeskImpl.java │ │ │ ├── FrontDeskMain.java │ │ │ ├── Mail.java │ │ │ └── config │ │ │ └── FrontOfficeConfiguration.java │ │ └── resources │ │ ├── beans-front.xml │ │ └── log4j.properties ├── Recipe_15_4_iii_BackOffice │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── post │ │ │ ├── BackOffice.java │ │ │ ├── BackOfficeMain.java │ │ │ ├── Mail.java │ │ │ ├── MailListener.java │ │ │ ├── MailMessageConverter.java │ │ │ └── config │ │ │ └── BackOfficeConfiguration.java │ │ └── resources │ │ ├── beans-back.xml │ │ └── log4j.properties ├── Recipe_15_4_iii_FrontDesk │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── post │ │ │ ├── FrontDesk.java │ │ │ ├── FrontDeskImpl.java │ │ │ ├── FrontDeskMain.java │ │ │ └── Mail.java │ │ └── resources │ │ ├── beans-front.xml │ │ └── log4j.properties ├── Recipe_15_4_iv_BackOffice │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── post │ │ │ ├── BackOffice.java │ │ │ ├── BackOfficeMain.java │ │ │ ├── Mail.java │ │ │ ├── MailListener.java │ │ │ ├── MailMessageConverter.java │ │ │ └── config │ │ │ └── BackOfficeConfiguration.java │ │ └── resources │ │ ├── beans-back.xml │ │ └── log4j.properties ├── Recipe_15_4_iv_FrontDesk │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── post │ │ │ ├── FrontDesk.java │ │ │ ├── FrontDeskImpl.java │ │ │ ├── FrontDeskMain.java │ │ │ └── Mail.java │ │ └── resources │ │ ├── beans-front.xml │ │ └── log4j.properties ├── Recipe_15_4_v_BackOffice │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── post │ │ │ ├── BackOffice.java │ │ │ ├── BackOfficeMain.java │ │ │ ├── Mail.java │ │ │ ├── MailListener.java │ │ │ └── MailMessageConverter.java │ │ └── resources │ │ ├── beans-back.xml │ │ └── log4j.properties ├── Recipe_15_4_v_FrontDesk │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── post │ │ │ ├── FrontDesk.java │ │ │ ├── FrontDeskImpl.java │ │ │ ├── FrontDeskMain.java │ │ │ └── Mail.java │ │ └── resources │ │ ├── beans-front.xml │ │ └── log4j.properties ├── Recipe_15_5_BackOffice │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── post │ │ │ ├── BackOffice.java │ │ │ ├── BackOfficeMain.java │ │ │ ├── Mail.java │ │ │ ├── MailListener.java │ │ │ ├── MailMessageConverter.java │ │ │ └── config │ │ │ └── BackOfficeConfiguration.java │ │ └── resources │ │ ├── beans-back.xml │ │ └── log4j.properties ├── Recipe_15_5_FrontDesk │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── post │ │ │ ├── FrontDesk.java │ │ │ ├── FrontDeskImpl.java │ │ │ ├── FrontDeskMain.java │ │ │ └── Mail.java │ │ └── resources │ │ ├── beans-front.xml │ │ └── log4j.properties ├── Recipe_15_6_BackOffice │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── post │ │ │ ├── BackOffice.java │ │ │ ├── BackOfficeMain.java │ │ │ ├── Mail.java │ │ │ ├── MailListener.java │ │ │ └── config │ │ │ └── BackOfficeConfiguration.java │ │ └── resources │ │ ├── beans-back.xml │ │ └── log4j.properties ├── Recipe_15_6_FrontDesk │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── post │ │ │ ├── FrontDesk.java │ │ │ ├── FrontDeskImpl.java │ │ │ ├── FrontDeskMain.java │ │ │ ├── Mail.java │ │ │ └── config │ │ │ └── FrontOfficeConfiguration.java │ │ └── resources │ │ ├── beans-front.xml │ │ └── log4j.properties ├── Recipe_15_6_ii │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ └── gradlew.bat └── build.gradle ├── Ch16 ├── Recipe_16_10_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── springintegration │ │ │ ├── AdditionService.java │ │ │ ├── Main.java │ │ │ ├── Operands.java │ │ │ └── SimpleMessagingGateway.java │ │ └── resources │ │ ├── integration-context.xml │ │ └── logback.xml ├── Recipe_16_10_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── springintegration │ │ │ ├── Main.java │ │ │ └── myholiday │ │ │ ├── HotelReservation.java │ │ │ ├── HotelReservationSearch.java │ │ │ ├── VacationService.java │ │ │ └── VacationServiceImpl.java │ │ └── resources │ │ ├── client-integration-context.xml │ │ ├── logback.xml │ │ ├── server-integration-context.xml │ │ └── shared-context.xml ├── Recipe_16_2_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── springintegration │ │ │ ├── InboundHelloWorldJMSMessageProcessor.java │ │ │ └── Main.java │ │ └── resources │ │ ├── integration-context.xml │ │ └── logback.xml ├── Recipe_16_2_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── springintegration │ │ │ ├── InboundHelloWorldJMSMessageProcessor.java │ │ │ └── Main.java │ │ └── resources │ │ ├── integration-context.xml │ │ └── logback.xml ├── Recipe_16_3_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── springintegration │ │ │ ├── InboundFileMessageServiceActivator.java │ │ │ └── Main.java │ │ └── resources │ │ ├── integration-context.xml │ │ └── logback.xml ├── Recipe_16_3_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── springintegration │ │ │ ├── InboundFileMessageServiceActivator.java │ │ │ └── Main.java │ │ └── resources │ │ ├── integration-context.xml │ │ └── logback.xml ├── Recipe_16_3_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── springintegration │ │ │ ├── InboundFileMessageServiceActivator.java │ │ │ └── Main.java │ │ └── resources │ │ ├── integration-context.xml │ │ └── logback.xml ├── Recipe_16_4_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── springintegration │ │ │ ├── InboundHelloWorldFileMessageProcessor.java │ │ │ └── Main.java │ │ └── resources │ │ ├── integration-context.xml │ │ └── logback.xml ├── Recipe_16_5_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── springintegration │ │ │ ├── Customer.java │ │ │ ├── InboundCustomerServiceActivator.java │ │ │ ├── InboundJMSMessageToCustomerTransformer.java │ │ │ └── Main.java │ │ └── resources │ │ ├── integration-context.xml │ │ └── logback.xml ├── Recipe_16_5_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── springintegration │ │ │ ├── Customer.java │ │ │ ├── InboundCustomerServiceActivator.java │ │ │ ├── InboundJMSMessageToCustomerTransformer.java │ │ │ └── Main.java │ │ └── resources │ │ ├── integration-context.xml │ │ └── logback.xml ├── Recipe_16_6_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── springintegration │ │ │ ├── ClientMain.java │ │ │ ├── Customer.java │ │ │ ├── InboundCustomerServiceActivator.java │ │ │ ├── InboundJMSMessageToCustomerTransformer.java │ │ │ └── ServerMain.java │ │ └── resources │ │ ├── client-context.xml │ │ ├── integration-context.xml │ │ └── logback.xml ├── Recipe_16_6_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── springintegration │ │ │ ├── ClientMain.java │ │ │ ├── Customer.java │ │ │ ├── DefaultErrorHandlingServiceActivator.java │ │ │ ├── InboundCustomerServiceActivator.java │ │ │ ├── InboundJMSMessageToCustomerTransformer.java │ │ │ └── ServerMain.java │ │ └── resources │ │ ├── client-context.xml │ │ ├── integration-context.xml │ │ └── logback.xml ├── Recipe_16_6_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── springintegration │ │ │ ├── ClientMain.java │ │ │ ├── Customer.java │ │ │ ├── DefaultErrorHandlingServiceActivator.java │ │ │ ├── InboundCustomerServiceActivator.java │ │ │ ├── InboundJMSMessageToCustomerTransformer.java │ │ │ ├── MyCustomException.java │ │ │ └── ServerMain.java │ │ └── resources │ │ ├── client-context.xml │ │ ├── integration-context.xml │ │ └── logback.xml ├── Recipe_16_7_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── springintegration │ │ │ ├── CustomerBatchFileSplitter.java │ │ │ ├── CustomerDeletionServiceActivator.java │ │ │ └── Main.java │ │ └── resources │ │ ├── integration-context.xml │ │ └── logback.xml ├── Recipe_16_7_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── springintegration │ │ │ ├── Customer.java │ │ │ ├── CustomerBatchFileSplitter.java │ │ │ ├── CustomerDeletionServiceActivator.java │ │ │ ├── Main.java │ │ │ ├── MessagePayloadAggregator.java │ │ │ └── SummaryServiceActivator.java │ │ └── resources │ │ ├── integration-context.xml │ │ └── logback.xml ├── Recipe_16_9 │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── springintegration │ │ │ ├── FileToJobLaunchRequestTransformer.java │ │ │ └── Main.java │ │ └── resources │ │ ├── integration-context.xml │ │ └── logback.xml └── build.gradle ├── Ch17 ├── Recipe_17_1_i │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── bank │ │ │ ├── InterestCalculator.java │ │ │ └── SimpleInterestCalculator.java │ │ └── test │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── bank │ │ └── SimpleInterestCalculatorJUnit4Tests.java ├── Recipe_17_1_ii │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── bank │ │ │ ├── InterestCalculator.java │ │ │ └── SimpleInterestCalculator.java │ │ └── test │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── bank │ │ └── SimpleInterestCalculatorTestNGTests.java ├── Recipe_17_1_iii │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── bank │ │ │ ├── InterestCalculator.java │ │ │ └── SimpleInterestCalculator.java │ │ └── test │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── bank │ │ └── SimpleInterestCalculatorTestNGTests.java ├── Recipe_17_2_i │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── bank │ │ │ ├── Account.java │ │ │ ├── AccountDao.java │ │ │ ├── AccountNotFoundException.java │ │ │ ├── DuplicateAccountException.java │ │ │ └── InMemoryAccountDao.java │ │ └── test │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── bank │ │ └── InMemoryAccountDaoTests.java ├── Recipe_17_2_ii │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── bank │ │ │ ├── Account.java │ │ │ ├── AccountDao.java │ │ │ ├── AccountNotFoundException.java │ │ │ ├── AccountService.java │ │ │ ├── AccountServiceImpl.java │ │ │ ├── DuplicateAccountException.java │ │ │ ├── InMemoryAccountDao.java │ │ │ └── InsufficientBalanceException.java │ │ └── test │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── bank │ │ ├── AccountServiceImplStubTests.java │ │ └── InMemoryAccountDaoTests.java ├── Recipe_17_2_iii │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── bank │ │ │ ├── Account.java │ │ │ ├── AccountDao.java │ │ │ ├── AccountNotFoundException.java │ │ │ ├── AccountService.java │ │ │ ├── AccountServiceImpl.java │ │ │ ├── DuplicateAccountException.java │ │ │ ├── InMemoryAccountDao.java │ │ │ └── InsufficientBalanceException.java │ │ └── test │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── bank │ │ ├── AccountServiceImplMockTests.java │ │ └── InMemoryAccountDaoTests.java ├── Recipe_17_2_iv │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── bank │ │ │ ├── Account.java │ │ │ ├── AccountDao.java │ │ │ ├── AccountNotFoundException.java │ │ │ ├── AccountService.java │ │ │ ├── AccountServiceImpl.java │ │ │ ├── DuplicateAccountException.java │ │ │ ├── InMemoryAccountDao.java │ │ │ └── InsufficientBalanceException.java │ │ └── test │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── bank │ │ ├── AccountServiceImplMockTests.java │ │ ├── AccountServiceTests.java │ │ └── InMemoryAccountDaoTests.java ├── Recipe_17_3_i │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── bank │ │ │ ├── Account.java │ │ │ ├── AccountDao.java │ │ │ ├── AccountNotFoundException.java │ │ │ ├── AccountService.java │ │ │ ├── AccountServiceImpl.java │ │ │ ├── DuplicateAccountException.java │ │ │ ├── InMemoryAccountDao.java │ │ │ ├── InsufficientBalanceException.java │ │ │ └── web │ │ │ └── DepositController.java │ │ └── test │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── bank │ │ ├── AccountServiceImplMockTests.java │ │ ├── AccountServiceTests.java │ │ ├── InMemoryAccountDaoTests.java │ │ └── web │ │ └── DepositControllerTests.java ├── Recipe_17_4_i │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── bank │ │ │ ├── Account.java │ │ │ ├── AccountDao.java │ │ │ ├── AccountNotFoundException.java │ │ │ ├── AccountService.java │ │ │ ├── AccountServiceImpl.java │ │ │ ├── DuplicateAccountException.java │ │ │ ├── InMemoryAccountDao.java │ │ │ ├── InsufficientBalanceException.java │ │ │ ├── config │ │ │ └── BankConfiguration.java │ │ │ └── web │ │ │ └── DepositController.java │ │ └── test │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── bank │ │ ├── AccountServiceImplMockTests.java │ │ ├── AccountServiceJUnit4ContextTests.java │ │ ├── AccountServiceTests.java │ │ ├── InMemoryAccountDaoTests.java │ │ └── web │ │ └── DepositControllerTests.java ├── Recipe_17_4_ii │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── bank │ │ │ ├── Account.java │ │ │ ├── AccountDao.java │ │ │ ├── AccountNotFoundException.java │ │ │ ├── AccountService.java │ │ │ ├── AccountServiceImpl.java │ │ │ ├── DuplicateAccountException.java │ │ │ ├── InMemoryAccountDao.java │ │ │ ├── InsufficientBalanceException.java │ │ │ ├── config │ │ │ └── BankConfiguration.java │ │ │ └── web │ │ │ └── DepositController.java │ │ └── test │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── bank │ │ ├── AccountServiceImplMockTests.java │ │ ├── AccountServiceJUnit4ContextTests.java │ │ ├── AccountServiceTests.java │ │ ├── InMemoryAccountDaoTests.java │ │ └── web │ │ └── DepositControllerTests.java ├── Recipe_17_4_iii │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── bank │ │ │ ├── Account.java │ │ │ ├── AccountDao.java │ │ │ ├── AccountNotFoundException.java │ │ │ ├── AccountService.java │ │ │ ├── AccountServiceImpl.java │ │ │ ├── DuplicateAccountException.java │ │ │ ├── InMemoryAccountDao.java │ │ │ ├── InsufficientBalanceException.java │ │ │ ├── config │ │ │ └── BankConfiguration.java │ │ │ └── web │ │ │ └── DepositController.java │ │ └── test │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── bank │ │ ├── AccountServiceImplMockTests.java │ │ ├── AccountServiceTestNGContextTests.java │ │ ├── AccountServiceTests.java │ │ ├── InMemoryAccountDaoTests.java │ │ └── web │ │ └── DepositControllerTests.java ├── Recipe_17_5_i │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── bank │ │ │ ├── Account.java │ │ │ ├── AccountDao.java │ │ │ ├── AccountNotFoundException.java │ │ │ ├── AccountService.java │ │ │ ├── AccountServiceImpl.java │ │ │ ├── DuplicateAccountException.java │ │ │ ├── InMemoryAccountDao.java │ │ │ ├── InsufficientBalanceException.java │ │ │ ├── config │ │ │ └── BankConfiguration.java │ │ │ └── web │ │ │ └── DepositController.java │ │ └── test │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── bank │ │ ├── AccountServiceImplMockTests.java │ │ ├── AccountServiceJUnit4ContextTests.java │ │ ├── AccountServiceTests.java │ │ ├── InMemoryAccountDaoTests.java │ │ └── web │ │ └── DepositControllerTests.java ├── Recipe_17_5_ii │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── bank │ │ │ ├── Account.java │ │ │ ├── AccountDao.java │ │ │ ├── AccountNotFoundException.java │ │ │ ├── AccountService.java │ │ │ ├── AccountServiceImpl.java │ │ │ ├── DuplicateAccountException.java │ │ │ ├── InMemoryAccountDao.java │ │ │ ├── InsufficientBalanceException.java │ │ │ ├── config │ │ │ └── BankConfiguration.java │ │ │ └── web │ │ │ └── DepositController.java │ │ └── test │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── bank │ │ ├── AccountServiceImplMockTests.java │ │ ├── AccountServiceJUnit4ContextTests.java │ │ ├── AccountServiceTests.java │ │ ├── InMemoryAccountDaoTests.java │ │ └── web │ │ └── DepositControllerTests.java ├── Recipe_17_5_iii │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── bank │ │ │ ├── Account.java │ │ │ ├── AccountDao.java │ │ │ ├── AccountNotFoundException.java │ │ │ ├── AccountService.java │ │ │ ├── AccountServiceImpl.java │ │ │ ├── DuplicateAccountException.java │ │ │ ├── InMemoryAccountDao.java │ │ │ ├── InsufficientBalanceException.java │ │ │ ├── config │ │ │ └── BankConfiguration.java │ │ │ └── web │ │ │ └── DepositController.java │ │ └── test │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── bank │ │ ├── AccountServiceImplMockTests.java │ │ ├── AccountServiceTestNGContextTests.java │ │ ├── AccountServiceTests.java │ │ ├── InMemoryAccountDaoTests.java │ │ └── web │ │ └── DepositControllerTests.java ├── Recipe_17_6_i │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── apress │ │ │ │ └── springrecipes │ │ │ │ └── bank │ │ │ │ ├── Account.java │ │ │ │ ├── AccountDao.java │ │ │ │ ├── AccountNotFoundException.java │ │ │ │ ├── AccountService.java │ │ │ │ ├── AccountServiceImpl.java │ │ │ │ ├── DuplicateAccountException.java │ │ │ │ ├── InMemoryAccountDao.java │ │ │ │ ├── InsufficientBalanceException.java │ │ │ │ ├── JdbcAccountDao.java │ │ │ │ ├── config │ │ │ │ └── BankConfiguration.java │ │ │ │ └── web │ │ │ │ └── DepositController.java │ │ └── resources │ │ │ └── bank.sql │ │ └── test │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── bank │ │ ├── AccountServiceImplMockTests.java │ │ ├── AccountServiceJUnit4ContextTests.java │ │ ├── AccountServiceTests.java │ │ ├── InMemoryAccountDaoTests.java │ │ └── web │ │ └── DepositControllerTests.java ├── Recipe_17_6_ii │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── apress │ │ │ │ └── springrecipes │ │ │ │ └── bank │ │ │ │ ├── Account.java │ │ │ │ ├── AccountDao.java │ │ │ │ ├── AccountNotFoundException.java │ │ │ │ ├── AccountService.java │ │ │ │ ├── AccountServiceImpl.java │ │ │ │ ├── DuplicateAccountException.java │ │ │ │ ├── InMemoryAccountDao.java │ │ │ │ ├── InsufficientBalanceException.java │ │ │ │ ├── JdbcAccountDao.java │ │ │ │ ├── config │ │ │ │ └── BankConfiguration.java │ │ │ │ └── web │ │ │ │ └── DepositController.java │ │ └── resources │ │ │ └── bank.sql │ │ └── test │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── bank │ │ ├── AccountServiceImplMockTests.java │ │ ├── AccountServiceJUnit4ContextTests.java │ │ ├── AccountServiceTests.java │ │ ├── InMemoryAccountDaoTests.java │ │ └── web │ │ └── DepositControllerTests.java ├── Recipe_17_6_iii │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── apress │ │ │ │ └── springrecipes │ │ │ │ └── bank │ │ │ │ ├── Account.java │ │ │ │ ├── AccountDao.java │ │ │ │ ├── AccountNotFoundException.java │ │ │ │ ├── AccountService.java │ │ │ │ ├── AccountServiceImpl.java │ │ │ │ ├── DuplicateAccountException.java │ │ │ │ ├── InMemoryAccountDao.java │ │ │ │ ├── InsufficientBalanceException.java │ │ │ │ ├── JdbcAccountDao.java │ │ │ │ ├── config │ │ │ │ └── BankConfiguration.java │ │ │ │ └── web │ │ │ │ └── DepositController.java │ │ └── resources │ │ │ └── bank.sql │ │ └── test │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── bank │ │ ├── AccountServiceImplMockTests.java │ │ ├── AccountServiceTestNGContextTests.java │ │ ├── AccountServiceTests.java │ │ ├── InMemoryAccountDaoTests.java │ │ └── web │ │ └── DepositControllerTests.java ├── Recipe_17_7_i │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── apress │ │ │ │ └── springrecipes │ │ │ │ └── bank │ │ │ │ ├── Account.java │ │ │ │ ├── AccountDao.java │ │ │ │ ├── AccountNotFoundException.java │ │ │ │ ├── AccountService.java │ │ │ │ ├── AccountServiceImpl.java │ │ │ │ ├── DuplicateAccountException.java │ │ │ │ ├── InMemoryAccountDao.java │ │ │ │ ├── InsufficientBalanceException.java │ │ │ │ ├── JdbcAccountDao.java │ │ │ │ ├── config │ │ │ │ └── BankConfiguration.java │ │ │ │ └── web │ │ │ │ └── DepositController.java │ │ └── resources │ │ │ └── bank.sql │ │ └── test │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── bank │ │ ├── AccountServiceImplMockTests.java │ │ ├── AccountServiceJUnit4ContextTests.java │ │ ├── AccountServiceTests.java │ │ ├── InMemoryAccountDaoTests.java │ │ └── web │ │ └── DepositControllerTests.java ├── Recipe_17_7_ii │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── apress │ │ │ │ └── springrecipes │ │ │ │ └── bank │ │ │ │ ├── Account.java │ │ │ │ ├── AccountDao.java │ │ │ │ ├── AccountNotFoundException.java │ │ │ │ ├── AccountService.java │ │ │ │ ├── AccountServiceImpl.java │ │ │ │ ├── DuplicateAccountException.java │ │ │ │ ├── InMemoryAccountDao.java │ │ │ │ ├── InsufficientBalanceException.java │ │ │ │ ├── JdbcAccountDao.java │ │ │ │ ├── config │ │ │ │ └── BankConfiguration.java │ │ │ │ └── web │ │ │ │ └── DepositController.java │ │ └── resources │ │ │ └── bank.sql │ │ └── test │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── bank │ │ ├── AccountServiceImplMockTests.java │ │ ├── AccountServiceTestNGContextTests.java │ │ ├── AccountServiceTests.java │ │ ├── InMemoryAccountDaoTests.java │ │ └── web │ │ └── DepositControllerTests.java ├── Recipe_17_8_i │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── apress │ │ │ │ └── springrecipes │ │ │ │ └── bank │ │ │ │ ├── Account.java │ │ │ │ ├── AccountDao.java │ │ │ │ ├── AccountNotFoundException.java │ │ │ │ ├── AccountService.java │ │ │ │ ├── AccountServiceImpl.java │ │ │ │ ├── DuplicateAccountException.java │ │ │ │ ├── InMemoryAccountDao.java │ │ │ │ ├── InsufficientBalanceException.java │ │ │ │ ├── JdbcAccountDao.java │ │ │ │ ├── config │ │ │ │ └── BankConfiguration.java │ │ │ │ └── web │ │ │ │ ├── DepositController.java │ │ │ │ └── config │ │ │ │ └── BankWebConfiguration.java │ │ └── resources │ │ │ └── bank.sql │ │ └── test │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── bank │ │ ├── AccountServiceImplMockTests.java │ │ ├── AccountServiceJUnit4ContextTests.java │ │ ├── AccountServiceTests.java │ │ ├── InMemoryAccountDaoTests.java │ │ └── web │ │ ├── DepositControllerJUnit4ContextTests.java │ │ └── DepositControllerTests.java ├── Recipe_17_8_ii │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── apress │ │ │ │ └── springrecipes │ │ │ │ └── bank │ │ │ │ ├── Account.java │ │ │ │ ├── AccountDao.java │ │ │ │ ├── AccountNotFoundException.java │ │ │ │ ├── AccountService.java │ │ │ │ ├── AccountServiceImpl.java │ │ │ │ ├── DuplicateAccountException.java │ │ │ │ ├── InMemoryAccountDao.java │ │ │ │ ├── InsufficientBalanceException.java │ │ │ │ ├── JdbcAccountDao.java │ │ │ │ ├── config │ │ │ │ └── BankConfiguration.java │ │ │ │ └── web │ │ │ │ ├── DepositController.java │ │ │ │ └── config │ │ │ │ └── BankWebConfiguration.java │ │ └── resources │ │ │ └── bank.sql │ │ └── test │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── bank │ │ ├── AccountServiceImplMockTests.java │ │ ├── AccountServiceJUnit4ContextTests.java │ │ ├── AccountServiceTests.java │ │ ├── InMemoryAccountDaoTests.java │ │ └── web │ │ ├── DepositControllerTestNGContextTests.java │ │ └── DepositControllerTests.java └── build.gradle ├── Ch18 ├── Recipe_18_10_i │ └── court │ │ ├── application.properties │ │ ├── grails-app │ │ ├── assets │ │ │ ├── images │ │ │ │ ├── apple-touch-icon-retina.png │ │ │ │ ├── apple-touch-icon.png │ │ │ │ ├── favicon.ico │ │ │ │ ├── grails_logo.png │ │ │ │ ├── skin │ │ │ │ │ ├── database_add.png │ │ │ │ │ ├── database_delete.png │ │ │ │ │ ├── database_edit.png │ │ │ │ │ ├── database_save.png │ │ │ │ │ ├── database_table.png │ │ │ │ │ ├── exclamation.png │ │ │ │ │ ├── house.png │ │ │ │ │ ├── information.png │ │ │ │ │ ├── shadow.jpg │ │ │ │ │ ├── sorted_asc.gif │ │ │ │ │ └── sorted_desc.gif │ │ │ │ ├── spinner.gif │ │ │ │ └── springsource.png │ │ │ ├── javascripts │ │ │ │ └── application.js │ │ │ └── stylesheets │ │ │ │ ├── application.css │ │ │ │ ├── errors.css │ │ │ │ ├── main.css │ │ │ │ └── mobile.css │ │ ├── conf │ │ │ ├── BootStrap.groovy │ │ │ ├── BuildConfig.groovy │ │ │ ├── Config.groovy │ │ │ ├── DataSource.groovy │ │ │ ├── UrlMappings.groovy │ │ │ └── spring │ │ │ │ └── resources.groovy │ │ ├── controllers │ │ │ └── court │ │ │ │ ├── PlayerController.groovy │ │ │ │ ├── ReservationController.groovy │ │ │ │ └── WelcomeController.groovy │ │ ├── domain │ │ │ └── court │ │ │ │ ├── Player.groovy │ │ │ │ └── Reservation.groovy │ │ ├── i18n │ │ │ ├── messages.properties │ │ │ ├── messages_cs_CZ.properties │ │ │ ├── messages_da.properties │ │ │ ├── messages_de.properties │ │ │ ├── messages_es.properties │ │ │ ├── messages_fr.properties │ │ │ ├── messages_it.properties │ │ │ ├── messages_ja.properties │ │ │ ├── messages_nb.properties │ │ │ ├── messages_nl.properties │ │ │ ├── messages_pl.properties │ │ │ ├── messages_pt_BR.properties │ │ │ ├── messages_pt_PT.properties │ │ │ ├── messages_ru.properties │ │ │ ├── messages_sv.properties │ │ │ ├── messages_th.properties │ │ │ └── messages_zh_CN.properties │ │ └── views │ │ │ ├── error.gsp │ │ │ ├── index.gsp │ │ │ ├── layouts │ │ │ └── main.gsp │ │ │ ├── player │ │ │ ├── _form.gsp │ │ │ ├── create.gsp │ │ │ ├── edit.gsp │ │ │ ├── index.gsp │ │ │ └── show.gsp │ │ │ ├── reservation │ │ │ ├── _form.gsp │ │ │ ├── create.gsp │ │ │ ├── edit.gsp │ │ │ ├── index.gsp │ │ │ └── show.gsp │ │ │ └── welcome │ │ │ └── index.gsp │ │ ├── grailsw │ │ ├── grailsw.bat │ │ ├── test │ │ ├── integration │ │ │ └── court │ │ │ │ └── CourtIntegrationTestSpec.groovy │ │ └── unit │ │ │ └── court │ │ │ ├── PlayerControllerSpec.groovy │ │ │ ├── PlayerSpec.groovy │ │ │ ├── ReservationControllerSpec.groovy │ │ │ ├── ReservationSpec.groovy │ │ │ └── WelcomeControllerSpec.groovy │ │ ├── web-app │ │ └── WEB-INF │ │ │ ├── applicationContext.xml │ │ │ ├── grails-app │ │ │ └── views │ │ │ │ └── welcome │ │ │ │ └── index.jsp │ │ │ ├── sitemesh.xml │ │ │ └── tld │ │ │ ├── c.tld │ │ │ ├── fmt.tld │ │ │ ├── grails.tld │ │ │ ├── spring-form.tld │ │ │ └── spring.tld │ │ └── wrapper │ │ ├── grails-wrapper-runtime-2.4.3.jar │ │ ├── grails-wrapper.properties │ │ └── springloaded-1.2.0.RELEASE.jar ├── Recipe_18_11_i │ └── court │ │ ├── application.properties │ │ ├── grails-app │ │ ├── assets │ │ │ ├── images │ │ │ │ ├── apple-touch-icon-retina.png │ │ │ │ ├── apple-touch-icon.png │ │ │ │ ├── favicon.ico │ │ │ │ ├── grails_logo.png │ │ │ │ ├── skin │ │ │ │ │ ├── database_add.png │ │ │ │ │ ├── database_delete.png │ │ │ │ │ ├── database_edit.png │ │ │ │ │ ├── database_save.png │ │ │ │ │ ├── database_table.png │ │ │ │ │ ├── exclamation.png │ │ │ │ │ ├── house.png │ │ │ │ │ ├── information.png │ │ │ │ │ ├── shadow.jpg │ │ │ │ │ ├── sorted_asc.gif │ │ │ │ │ └── sorted_desc.gif │ │ │ │ ├── spinner.gif │ │ │ │ └── springsource.png │ │ │ ├── javascripts │ │ │ │ └── application.js │ │ │ └── stylesheets │ │ │ │ ├── application.css │ │ │ │ ├── errors.css │ │ │ │ ├── main.css │ │ │ │ └── mobile.css │ │ ├── conf │ │ │ ├── BootStrap.groovy │ │ │ ├── BuildConfig.groovy │ │ │ ├── Config.groovy │ │ │ ├── DataSource.groovy │ │ │ ├── UrlMappings.groovy │ │ │ └── spring │ │ │ │ └── resources.groovy │ │ ├── controllers │ │ │ └── court │ │ │ │ ├── PlayerController.groovy │ │ │ │ ├── ReservationController.groovy │ │ │ │ └── WelcomeController.groovy │ │ ├── domain │ │ │ └── court │ │ │ │ ├── Player.groovy │ │ │ │ └── Reservation.groovy │ │ ├── i18n │ │ │ ├── messages.properties │ │ │ ├── messages_cs_CZ.properties │ │ │ ├── messages_da.properties │ │ │ ├── messages_de.properties │ │ │ ├── messages_es.properties │ │ │ ├── messages_fr.properties │ │ │ ├── messages_it.properties │ │ │ ├── messages_ja.properties │ │ │ ├── messages_nb.properties │ │ │ ├── messages_nl.properties │ │ │ ├── messages_pl.properties │ │ │ ├── messages_pt_BR.properties │ │ │ ├── messages_pt_PT.properties │ │ │ ├── messages_ru.properties │ │ │ ├── messages_sv.properties │ │ │ ├── messages_th.properties │ │ │ └── messages_zh_CN.properties │ │ └── views │ │ │ ├── error.gsp │ │ │ ├── index.gsp │ │ │ ├── layouts │ │ │ ├── _reservationList.gsp │ │ │ └── main.gsp │ │ │ ├── player │ │ │ ├── _form.gsp │ │ │ ├── create.gsp │ │ │ ├── edit.gsp │ │ │ ├── index.gsp │ │ │ └── show.gsp │ │ │ ├── reservation │ │ │ ├── _form.gsp │ │ │ ├── create.gsp │ │ │ ├── edit.gsp │ │ │ ├── index.gsp │ │ │ └── show.gsp │ │ │ └── welcome │ │ │ └── index.gsp │ │ ├── grailsw │ │ ├── grailsw.bat │ │ ├── test │ │ ├── integration │ │ │ └── court │ │ │ │ └── CourtIntegrationTestSpec.groovy │ │ └── unit │ │ │ └── court │ │ │ ├── PlayerControllerSpec.groovy │ │ │ ├── PlayerSpec.groovy │ │ │ ├── ReservationControllerSpec.groovy │ │ │ ├── ReservationSpec.groovy │ │ │ └── WelcomeControllerSpec.groovy │ │ ├── web-app │ │ └── WEB-INF │ │ │ ├── applicationContext.xml │ │ │ ├── grails-app │ │ │ └── views │ │ │ │ └── welcome │ │ │ │ └── index.jsp │ │ │ ├── sitemesh.xml │ │ │ └── tld │ │ │ ├── c.tld │ │ │ ├── fmt.tld │ │ │ ├── grails.tld │ │ │ ├── spring-form.tld │ │ │ └── spring.tld │ │ └── wrapper │ │ ├── grails-wrapper-runtime-2.4.3.jar │ │ ├── grails-wrapper.properties │ │ └── springloaded-1.2.0.RELEASE.jar ├── Recipe_18_13_i │ └── court │ │ ├── application.properties │ │ ├── grails-app │ │ ├── assets │ │ │ ├── images │ │ │ │ ├── apple-touch-icon-retina.png │ │ │ │ ├── apple-touch-icon.png │ │ │ │ ├── favicon.ico │ │ │ │ ├── grails_logo.png │ │ │ │ ├── skin │ │ │ │ │ ├── database_add.png │ │ │ │ │ ├── database_delete.png │ │ │ │ │ ├── database_edit.png │ │ │ │ │ ├── database_save.png │ │ │ │ │ ├── database_table.png │ │ │ │ │ ├── exclamation.png │ │ │ │ │ ├── house.png │ │ │ │ │ ├── information.png │ │ │ │ │ ├── shadow.jpg │ │ │ │ │ ├── sorted_asc.gif │ │ │ │ │ └── sorted_desc.gif │ │ │ │ ├── spinner.gif │ │ │ │ └── springsource.png │ │ │ ├── javascripts │ │ │ │ └── application.js │ │ │ └── stylesheets │ │ │ │ ├── application.css │ │ │ │ ├── errors.css │ │ │ │ ├── main.css │ │ │ │ └── mobile.css │ │ ├── conf │ │ │ ├── BootStrap.groovy │ │ │ ├── BuildConfig.groovy │ │ │ ├── Config.groovy │ │ │ ├── DataSource.groovy │ │ │ ├── UrlMappings.groovy │ │ │ └── spring │ │ │ │ └── resources.groovy │ │ ├── controllers │ │ │ └── court │ │ │ │ ├── PlayerController.groovy │ │ │ │ ├── ReservationController.groovy │ │ │ │ └── WelcomeController.groovy │ │ ├── domain │ │ │ └── court │ │ │ │ ├── Player.groovy │ │ │ │ └── Reservation.groovy │ │ ├── i18n │ │ │ ├── messages.properties │ │ │ ├── messages_cs_CZ.properties │ │ │ ├── messages_da.properties │ │ │ ├── messages_de.properties │ │ │ ├── messages_es.properties │ │ │ ├── messages_fr.properties │ │ │ ├── messages_it.properties │ │ │ ├── messages_ja.properties │ │ │ ├── messages_nb.properties │ │ │ ├── messages_nl.properties │ │ │ ├── messages_pl.properties │ │ │ ├── messages_pt_BR.properties │ │ │ ├── messages_pt_PT.properties │ │ │ ├── messages_ru.properties │ │ │ ├── messages_sv.properties │ │ │ ├── messages_th.properties │ │ │ └── messages_zh_CN.properties │ │ ├── taglib │ │ │ └── court │ │ │ │ └── DailyNoticeTagLib.groovy │ │ └── views │ │ │ ├── error.gsp │ │ │ ├── index.gsp │ │ │ ├── layouts │ │ │ ├── _reservationList.gsp │ │ │ └── main.gsp │ │ │ ├── player │ │ │ ├── _form.gsp │ │ │ ├── create.gsp │ │ │ ├── edit.gsp │ │ │ ├── index.gsp │ │ │ └── show.gsp │ │ │ ├── reservation │ │ │ ├── _form.gsp │ │ │ ├── create.gsp │ │ │ ├── edit.gsp │ │ │ ├── index.gsp │ │ │ └── show.gsp │ │ │ └── welcome │ │ │ └── index.gsp │ │ ├── grailsw │ │ ├── grailsw.bat │ │ ├── test │ │ ├── integration │ │ │ └── court │ │ │ │ └── CourtIntegrationTestSpec.groovy │ │ └── unit │ │ │ └── court │ │ │ ├── DailyNoticeTagLibSpec.groovy │ │ │ ├── PlayerControllerSpec.groovy │ │ │ ├── PlayerSpec.groovy │ │ │ ├── ReservationControllerSpec.groovy │ │ │ ├── ReservationSpec.groovy │ │ │ └── WelcomeControllerSpec.groovy │ │ ├── web-app │ │ └── WEB-INF │ │ │ ├── applicationContext.xml │ │ │ ├── grails-app │ │ │ └── views │ │ │ │ └── welcome │ │ │ │ └── index.jsp │ │ │ ├── sitemesh.xml │ │ │ └── tld │ │ │ ├── c.tld │ │ │ ├── fmt.tld │ │ │ ├── grails.tld │ │ │ ├── spring-form.tld │ │ │ └── spring.tld │ │ └── wrapper │ │ ├── grails-wrapper-runtime-2.4.3.jar │ │ ├── grails-wrapper.properties │ │ └── springloaded-1.2.0.RELEASE.jar ├── Recipe_18_14_i │ └── court │ │ ├── application.properties │ │ ├── grails-app │ │ ├── assets │ │ │ ├── images │ │ │ │ ├── apple-touch-icon-retina.png │ │ │ │ ├── apple-touch-icon.png │ │ │ │ ├── favicon.ico │ │ │ │ ├── grails_logo.png │ │ │ │ ├── skin │ │ │ │ │ ├── database_add.png │ │ │ │ │ ├── database_delete.png │ │ │ │ │ ├── database_edit.png │ │ │ │ │ ├── database_save.png │ │ │ │ │ ├── database_table.png │ │ │ │ │ ├── exclamation.png │ │ │ │ │ ├── house.png │ │ │ │ │ ├── information.png │ │ │ │ │ ├── shadow.jpg │ │ │ │ │ ├── sorted_asc.gif │ │ │ │ │ └── sorted_desc.gif │ │ │ │ ├── spinner.gif │ │ │ │ └── springsource.png │ │ │ ├── javascripts │ │ │ │ └── application.js │ │ │ └── stylesheets │ │ │ │ ├── application.css │ │ │ │ ├── errors.css │ │ │ │ ├── main.css │ │ │ │ └── mobile.css │ │ ├── conf │ │ │ ├── BootStrap.groovy │ │ │ ├── BuildConfig.groovy │ │ │ ├── Config.groovy │ │ │ ├── DataSource.groovy │ │ │ ├── UrlMappings.groovy │ │ │ └── spring │ │ │ │ └── resources.groovy │ │ ├── controllers │ │ │ └── court │ │ │ │ ├── PlayerController.groovy │ │ │ │ ├── ReservationController.groovy │ │ │ │ └── WelcomeController.groovy │ │ ├── domain │ │ │ └── court │ │ │ │ ├── Player.groovy │ │ │ │ ├── Reservation.groovy │ │ │ │ ├── SecRole.groovy │ │ │ │ ├── SecUser.groovy │ │ │ │ └── SecUserSecRole.groovy │ │ ├── i18n │ │ │ ├── messages.properties │ │ │ ├── messages_cs_CZ.properties │ │ │ ├── messages_da.properties │ │ │ ├── messages_de.properties │ │ │ ├── messages_es.properties │ │ │ ├── messages_fr.properties │ │ │ ├── messages_it.properties │ │ │ ├── messages_ja.properties │ │ │ ├── messages_nb.properties │ │ │ ├── messages_nl.properties │ │ │ ├── messages_pl.properties │ │ │ ├── messages_pt_BR.properties │ │ │ ├── messages_pt_PT.properties │ │ │ ├── messages_ru.properties │ │ │ ├── messages_sv.properties │ │ │ ├── messages_th.properties │ │ │ └── messages_zh_CN.properties │ │ ├── taglib │ │ │ └── court │ │ │ │ └── DailyNoticeTagLib.groovy │ │ └── views │ │ │ ├── error.gsp │ │ │ ├── index.gsp │ │ │ ├── layouts │ │ │ ├── _reservationList.gsp │ │ │ └── main.gsp │ │ │ ├── player │ │ │ ├── _form.gsp │ │ │ ├── create.gsp │ │ │ ├── edit.gsp │ │ │ ├── index.gsp │ │ │ └── show.gsp │ │ │ ├── reservation │ │ │ ├── _form.gsp │ │ │ ├── create.gsp │ │ │ ├── edit.gsp │ │ │ ├── index.gsp │ │ │ └── show.gsp │ │ │ └── welcome │ │ │ └── index.gsp │ │ ├── grailsw │ │ ├── grailsw.bat │ │ ├── test │ │ ├── integration │ │ │ └── court │ │ │ │ └── CourtIntegrationTestSpec.groovy │ │ └── unit │ │ │ └── court │ │ │ ├── DailyNoticeTagLibSpec.groovy │ │ │ ├── PlayerControllerSpec.groovy │ │ │ ├── PlayerSpec.groovy │ │ │ ├── ReservationControllerSpec.groovy │ │ │ ├── ReservationSpec.groovy │ │ │ └── WelcomeControllerSpec.groovy │ │ ├── web-app │ │ └── WEB-INF │ │ │ ├── applicationContext.xml │ │ │ ├── grails-app │ │ │ └── views │ │ │ │ └── welcome │ │ │ │ └── index.jsp │ │ │ ├── sitemesh.xml │ │ │ └── tld │ │ │ ├── c.tld │ │ │ ├── fmt.tld │ │ │ ├── grails.tld │ │ │ ├── spring-form.tld │ │ │ └── spring.tld │ │ └── wrapper │ │ ├── grails-wrapper-runtime-2.4.3.jar │ │ ├── grails-wrapper.properties │ │ └── springloaded-1.2.0.RELEASE.jar ├── Recipe_18_2_i │ └── court │ │ ├── application.properties │ │ ├── grails-app │ │ ├── assets │ │ │ ├── images │ │ │ │ ├── apple-touch-icon-retina.png │ │ │ │ ├── apple-touch-icon.png │ │ │ │ ├── favicon.ico │ │ │ │ ├── grails_logo.png │ │ │ │ ├── skin │ │ │ │ │ ├── database_add.png │ │ │ │ │ ├── database_delete.png │ │ │ │ │ ├── database_edit.png │ │ │ │ │ ├── database_save.png │ │ │ │ │ ├── database_table.png │ │ │ │ │ ├── exclamation.png │ │ │ │ │ ├── house.png │ │ │ │ │ ├── information.png │ │ │ │ │ ├── shadow.jpg │ │ │ │ │ ├── sorted_asc.gif │ │ │ │ │ └── sorted_desc.gif │ │ │ │ ├── spinner.gif │ │ │ │ └── springsource.png │ │ │ ├── javascripts │ │ │ │ └── application.js │ │ │ └── stylesheets │ │ │ │ ├── application.css │ │ │ │ ├── errors.css │ │ │ │ ├── main.css │ │ │ │ └── mobile.css │ │ ├── conf │ │ │ ├── BootStrap.groovy │ │ │ ├── BuildConfig.groovy │ │ │ ├── Config.groovy │ │ │ ├── DataSource.groovy │ │ │ ├── UrlMappings.groovy │ │ │ └── spring │ │ │ │ └── resources.groovy │ │ ├── i18n │ │ │ ├── messages.properties │ │ │ ├── messages_cs_CZ.properties │ │ │ ├── messages_da.properties │ │ │ ├── messages_de.properties │ │ │ ├── messages_es.properties │ │ │ ├── messages_fr.properties │ │ │ ├── messages_it.properties │ │ │ ├── messages_ja.properties │ │ │ ├── messages_nb.properties │ │ │ ├── messages_nl.properties │ │ │ ├── messages_pl.properties │ │ │ ├── messages_pt_BR.properties │ │ │ ├── messages_pt_PT.properties │ │ │ ├── messages_ru.properties │ │ │ ├── messages_sv.properties │ │ │ ├── messages_th.properties │ │ │ └── messages_zh_CN.properties │ │ └── views │ │ │ ├── error.gsp │ │ │ ├── index.gsp │ │ │ └── layouts │ │ │ └── main.gsp │ │ ├── grailsw │ │ ├── grailsw.bat │ │ ├── web-app │ │ └── WEB-INF │ │ │ ├── applicationContext.xml │ │ │ ├── sitemesh.xml │ │ │ └── tld │ │ │ ├── c.tld │ │ │ ├── fmt.tld │ │ │ ├── grails.tld │ │ │ ├── spring-form.tld │ │ │ └── spring.tld │ │ └── wrapper │ │ ├── grails-wrapper-runtime-2.4.3.jar │ │ ├── grails-wrapper.properties │ │ └── springloaded-1.2.0.RELEASE.jar ├── Recipe_18_2_ii │ └── court │ │ ├── application.properties │ │ ├── grails-app │ │ ├── assets │ │ │ ├── images │ │ │ │ ├── apple-touch-icon-retina.png │ │ │ │ ├── apple-touch-icon.png │ │ │ │ ├── favicon.ico │ │ │ │ ├── grails_logo.png │ │ │ │ ├── skin │ │ │ │ │ ├── database_add.png │ │ │ │ │ ├── database_delete.png │ │ │ │ │ ├── database_edit.png │ │ │ │ │ ├── database_save.png │ │ │ │ │ ├── database_table.png │ │ │ │ │ ├── exclamation.png │ │ │ │ │ ├── house.png │ │ │ │ │ ├── information.png │ │ │ │ │ ├── shadow.jpg │ │ │ │ │ ├── sorted_asc.gif │ │ │ │ │ └── sorted_desc.gif │ │ │ │ ├── spinner.gif │ │ │ │ └── springsource.png │ │ │ ├── javascripts │ │ │ │ └── application.js │ │ │ └── stylesheets │ │ │ │ ├── application.css │ │ │ │ ├── errors.css │ │ │ │ ├── main.css │ │ │ │ └── mobile.css │ │ ├── conf │ │ │ ├── BootStrap.groovy │ │ │ ├── BuildConfig.groovy │ │ │ ├── Config.groovy │ │ │ ├── DataSource.groovy │ │ │ ├── UrlMappings.groovy │ │ │ └── spring │ │ │ │ └── resources.groovy │ │ ├── controllers │ │ │ └── court │ │ │ │ └── WelcomeController.groovy │ │ ├── i18n │ │ │ ├── messages.properties │ │ │ ├── messages_cs_CZ.properties │ │ │ ├── messages_da.properties │ │ │ ├── messages_de.properties │ │ │ ├── messages_es.properties │ │ │ ├── messages_fr.properties │ │ │ ├── messages_it.properties │ │ │ ├── messages_ja.properties │ │ │ ├── messages_nb.properties │ │ │ ├── messages_nl.properties │ │ │ ├── messages_pl.properties │ │ │ ├── messages_pt_BR.properties │ │ │ ├── messages_pt_PT.properties │ │ │ ├── messages_ru.properties │ │ │ ├── messages_sv.properties │ │ │ ├── messages_th.properties │ │ │ └── messages_zh_CN.properties │ │ └── views │ │ │ ├── error.gsp │ │ │ ├── index.gsp │ │ │ ├── layouts │ │ │ └── main.gsp │ │ │ └── welcome │ │ │ └── index.gsp │ │ ├── grailsw │ │ ├── grailsw.bat │ │ ├── test │ │ └── unit │ │ │ └── court │ │ │ └── WelcomeControllerSpec.groovy │ │ ├── web-app │ │ └── WEB-INF │ │ │ ├── applicationContext.xml │ │ │ ├── grails-app │ │ │ └── views │ │ │ │ └── welcome │ │ │ │ └── index.jsp │ │ │ ├── sitemesh.xml │ │ │ └── tld │ │ │ ├── c.tld │ │ │ ├── fmt.tld │ │ │ ├── grails.tld │ │ │ ├── spring-form.tld │ │ │ └── spring.tld │ │ └── wrapper │ │ ├── grails-wrapper-runtime-2.4.3.jar │ │ ├── grails-wrapper.properties │ │ └── springloaded-1.2.0.RELEASE.jar ├── Recipe_18_5_i │ └── court │ │ ├── application.properties │ │ ├── grails-app │ │ ├── assets │ │ │ ├── images │ │ │ │ ├── apple-touch-icon-retina.png │ │ │ │ ├── apple-touch-icon.png │ │ │ │ ├── favicon.ico │ │ │ │ ├── grails_logo.png │ │ │ │ ├── skin │ │ │ │ │ ├── database_add.png │ │ │ │ │ ├── database_delete.png │ │ │ │ │ ├── database_edit.png │ │ │ │ │ ├── database_save.png │ │ │ │ │ ├── database_table.png │ │ │ │ │ ├── exclamation.png │ │ │ │ │ ├── house.png │ │ │ │ │ ├── information.png │ │ │ │ │ ├── shadow.jpg │ │ │ │ │ ├── sorted_asc.gif │ │ │ │ │ └── sorted_desc.gif │ │ │ │ ├── spinner.gif │ │ │ │ └── springsource.png │ │ │ ├── javascripts │ │ │ │ └── application.js │ │ │ └── stylesheets │ │ │ │ ├── application.css │ │ │ │ ├── errors.css │ │ │ │ ├── main.css │ │ │ │ └── mobile.css │ │ ├── conf │ │ │ ├── BootStrap.groovy │ │ │ ├── BuildConfig.groovy │ │ │ ├── Config.groovy │ │ │ ├── DataSource.groovy │ │ │ ├── UrlMappings.groovy │ │ │ └── spring │ │ │ │ └── resources.groovy │ │ ├── controllers │ │ │ └── court │ │ │ │ └── WelcomeController.groovy │ │ ├── domain │ │ │ └── court │ │ │ │ ├── Player.groovy │ │ │ │ └── Reservation.groovy │ │ ├── i18n │ │ │ ├── messages.properties │ │ │ ├── messages_cs_CZ.properties │ │ │ ├── messages_da.properties │ │ │ ├── messages_de.properties │ │ │ ├── messages_es.properties │ │ │ ├── messages_fr.properties │ │ │ ├── messages_it.properties │ │ │ ├── messages_ja.properties │ │ │ ├── messages_nb.properties │ │ │ ├── messages_nl.properties │ │ │ ├── messages_pl.properties │ │ │ ├── messages_pt_BR.properties │ │ │ ├── messages_pt_PT.properties │ │ │ ├── messages_ru.properties │ │ │ ├── messages_sv.properties │ │ │ ├── messages_th.properties │ │ │ └── messages_zh_CN.properties │ │ └── views │ │ │ ├── error.gsp │ │ │ ├── index.gsp │ │ │ ├── layouts │ │ │ └── main.gsp │ │ │ └── welcome │ │ │ └── index.gsp │ │ ├── grailsw │ │ ├── grailsw.bat │ │ ├── test │ │ └── unit │ │ │ └── court │ │ │ ├── PlayerSpec.groovy │ │ │ ├── ReservationSpec.groovy │ │ │ └── WelcomeControllerSpec.groovy │ │ ├── web-app │ │ └── WEB-INF │ │ │ ├── applicationContext.xml │ │ │ ├── grails-app │ │ │ └── views │ │ │ │ └── welcome │ │ │ │ └── index.jsp │ │ │ ├── sitemesh.xml │ │ │ └── tld │ │ │ ├── c.tld │ │ │ ├── fmt.tld │ │ │ ├── grails.tld │ │ │ ├── spring-form.tld │ │ │ └── spring.tld │ │ └── wrapper │ │ ├── grails-wrapper-runtime-2.4.3.jar │ │ ├── grails-wrapper.properties │ │ └── springloaded-1.2.0.RELEASE.jar ├── Recipe_18_5_iii │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ └── gradlew.bat ├── Recipe_18_6_i │ └── court │ │ ├── application.properties │ │ ├── grails-app │ │ ├── assets │ │ │ ├── images │ │ │ │ ├── apple-touch-icon-retina.png │ │ │ │ ├── apple-touch-icon.png │ │ │ │ ├── favicon.ico │ │ │ │ ├── grails_logo.png │ │ │ │ ├── skin │ │ │ │ │ ├── database_add.png │ │ │ │ │ ├── database_delete.png │ │ │ │ │ ├── database_edit.png │ │ │ │ │ ├── database_save.png │ │ │ │ │ ├── database_table.png │ │ │ │ │ ├── exclamation.png │ │ │ │ │ ├── house.png │ │ │ │ │ ├── information.png │ │ │ │ │ ├── shadow.jpg │ │ │ │ │ ├── sorted_asc.gif │ │ │ │ │ └── sorted_desc.gif │ │ │ │ ├── spinner.gif │ │ │ │ └── springsource.png │ │ │ ├── javascripts │ │ │ │ └── application.js │ │ │ └── stylesheets │ │ │ │ ├── application.css │ │ │ │ ├── errors.css │ │ │ │ ├── main.css │ │ │ │ └── mobile.css │ │ ├── conf │ │ │ ├── BootStrap.groovy │ │ │ ├── BuildConfig.groovy │ │ │ ├── Config.groovy │ │ │ ├── DataSource.groovy │ │ │ ├── UrlMappings.groovy │ │ │ └── spring │ │ │ │ └── resources.groovy │ │ ├── controllers │ │ │ └── court │ │ │ │ ├── PlayerController.groovy │ │ │ │ ├── ReservationController.groovy │ │ │ │ └── WelcomeController.groovy │ │ ├── domain │ │ │ └── court │ │ │ │ ├── Player.groovy │ │ │ │ └── Reservation.groovy │ │ ├── i18n │ │ │ ├── messages.properties │ │ │ ├── messages_cs_CZ.properties │ │ │ ├── messages_da.properties │ │ │ ├── messages_de.properties │ │ │ ├── messages_es.properties │ │ │ ├── messages_fr.properties │ │ │ ├── messages_it.properties │ │ │ ├── messages_ja.properties │ │ │ ├── messages_nb.properties │ │ │ ├── messages_nl.properties │ │ │ ├── messages_pl.properties │ │ │ ├── messages_pt_BR.properties │ │ │ ├── messages_pt_PT.properties │ │ │ ├── messages_ru.properties │ │ │ ├── messages_sv.properties │ │ │ ├── messages_th.properties │ │ │ └── messages_zh_CN.properties │ │ └── views │ │ │ ├── error.gsp │ │ │ ├── index.gsp │ │ │ ├── layouts │ │ │ └── main.gsp │ │ │ ├── player │ │ │ ├── _form.gsp │ │ │ ├── create.gsp │ │ │ ├── edit.gsp │ │ │ ├── index.gsp │ │ │ └── show.gsp │ │ │ ├── reservation │ │ │ ├── _form.gsp │ │ │ ├── create.gsp │ │ │ ├── edit.gsp │ │ │ ├── index.gsp │ │ │ └── show.gsp │ │ │ └── welcome │ │ │ └── index.gsp │ │ ├── grailsw │ │ ├── grailsw.bat │ │ ├── test │ │ └── unit │ │ │ └── court │ │ │ ├── PlayerControllerSpec.groovy │ │ │ ├── PlayerSpec.groovy │ │ │ ├── ReservationControllerSpec.groovy │ │ │ ├── ReservationSpec.groovy │ │ │ └── WelcomeControllerSpec.groovy │ │ ├── web-app │ │ └── WEB-INF │ │ │ ├── applicationContext.xml │ │ │ ├── grails-app │ │ │ └── views │ │ │ │ └── welcome │ │ │ │ └── index.jsp │ │ │ ├── sitemesh.xml │ │ │ └── tld │ │ │ ├── c.tld │ │ │ ├── fmt.tld │ │ │ ├── grails.tld │ │ │ ├── spring-form.tld │ │ │ └── spring.tld │ │ └── wrapper │ │ ├── grails-wrapper-runtime-2.4.3.jar │ │ ├── grails-wrapper.properties │ │ └── springloaded-1.2.0.RELEASE.jar └── Recipe_18_7_i │ └── court │ ├── application.properties │ ├── grails-app │ ├── assets │ │ ├── images │ │ │ ├── apple-touch-icon-retina.png │ │ │ ├── apple-touch-icon.png │ │ │ ├── favicon.ico │ │ │ ├── grails_logo.png │ │ │ ├── skin │ │ │ │ ├── database_add.png │ │ │ │ ├── database_delete.png │ │ │ │ ├── database_edit.png │ │ │ │ ├── database_save.png │ │ │ │ ├── database_table.png │ │ │ │ ├── exclamation.png │ │ │ │ ├── house.png │ │ │ │ ├── information.png │ │ │ │ ├── shadow.jpg │ │ │ │ ├── sorted_asc.gif │ │ │ │ └── sorted_desc.gif │ │ │ ├── spinner.gif │ │ │ └── springsource.png │ │ ├── javascripts │ │ │ └── application.js │ │ └── stylesheets │ │ │ ├── application.css │ │ │ ├── errors.css │ │ │ ├── main.css │ │ │ └── mobile.css │ ├── conf │ │ ├── BootStrap.groovy │ │ ├── BuildConfig.groovy │ │ ├── Config.groovy │ │ ├── DataSource.groovy │ │ ├── UrlMappings.groovy │ │ └── spring │ │ │ └── resources.groovy │ ├── controllers │ │ └── court │ │ │ ├── PlayerController.groovy │ │ │ ├── ReservationController.groovy │ │ │ └── WelcomeController.groovy │ ├── domain │ │ └── court │ │ │ ├── Player.groovy │ │ │ └── Reservation.groovy │ ├── i18n │ │ ├── messages.properties │ │ ├── messages_cs_CZ.properties │ │ ├── messages_da.properties │ │ ├── messages_de.properties │ │ ├── messages_es.properties │ │ ├── messages_fr.properties │ │ ├── messages_it.properties │ │ ├── messages_ja.properties │ │ ├── messages_nb.properties │ │ ├── messages_nl.properties │ │ ├── messages_pl.properties │ │ ├── messages_pt_BR.properties │ │ ├── messages_pt_PT.properties │ │ ├── messages_ru.properties │ │ ├── messages_sv.properties │ │ ├── messages_th.properties │ │ └── messages_zh_CN.properties │ └── views │ │ ├── error.gsp │ │ ├── index.gsp │ │ ├── layouts │ │ └── main.gsp │ │ ├── player │ │ ├── _form.gsp │ │ ├── create.gsp │ │ ├── edit.gsp │ │ ├── index.gsp │ │ └── show.gsp │ │ ├── reservation │ │ ├── _form.gsp │ │ ├── create.gsp │ │ ├── edit.gsp │ │ ├── index.gsp │ │ └── show.gsp │ │ └── welcome │ │ └── index.gsp │ ├── grailsw │ ├── grailsw.bat │ ├── test │ └── unit │ │ └── court │ │ ├── PlayerControllerSpec.groovy │ │ ├── PlayerSpec.groovy │ │ ├── ReservationControllerSpec.groovy │ │ ├── ReservationSpec.groovy │ │ └── WelcomeControllerSpec.groovy │ ├── web-app │ └── WEB-INF │ │ ├── applicationContext.xml │ │ ├── grails-app │ │ └── views │ │ │ └── welcome │ │ │ └── index.jsp │ │ ├── sitemesh.xml │ │ └── tld │ │ ├── c.tld │ │ ├── fmt.tld │ │ ├── grails.tld │ │ ├── spring-form.tld │ │ └── spring.tld │ └── wrapper │ ├── grails-wrapper-runtime-2.4.3.jar │ ├── grails-wrapper.properties │ └── springloaded-1.2.0.RELEASE.jar ├── Ch2 ├── Recipe_2_1 │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── sequence │ │ │ ├── Main.java │ │ │ └── SequenceGenerator.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_10_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── shop │ │ │ ├── Battery.java │ │ │ ├── Disc.java │ │ │ ├── Main.java │ │ │ ├── Product.java │ │ │ ├── ProductCreator.java │ │ │ └── ShoppingCart.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_10_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── shop │ │ │ ├── Battery.java │ │ │ ├── Disc.java │ │ │ ├── Main.java │ │ │ ├── Product.java │ │ │ ├── ProductCreator.java │ │ │ └── ShoppingCart.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_10_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── shop │ │ │ ├── Battery.java │ │ │ ├── Disc.java │ │ │ ├── DiscountFactoryBean.java │ │ │ ├── Main.java │ │ │ ├── Product.java │ │ │ └── ShoppingCart.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_11 │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── shop │ │ │ ├── Battery.java │ │ │ ├── Cashier.java │ │ │ ├── Disc.java │ │ │ ├── Main.java │ │ │ ├── Product.java │ │ │ └── ShoppingCart.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_12 │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── calculator │ │ │ ├── ArithmeticCalculator.java │ │ │ ├── ArithmeticCalculatorImpl.java │ │ │ ├── CalculatorLoggingAspect.java │ │ │ ├── Main.java │ │ │ ├── UnitCalculator.java │ │ │ └── UnitCalculatorImpl.java │ │ └── resources │ │ ├── beans.xml │ │ └── log4j.properties ├── Recipe_2_13_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── shop │ │ │ ├── Battery.java │ │ │ ├── Disc.java │ │ │ ├── Main.java │ │ │ ├── Product.java │ │ │ └── ShoppingCart.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_13_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── shop │ │ │ ├── Battery.java │ │ │ ├── Disc.java │ │ │ ├── Main.java │ │ │ ├── Product.java │ │ │ └── ShoppingCart.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_13_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── shop │ │ │ ├── Battery.java │ │ │ ├── Disc.java │ │ │ ├── Main.java │ │ │ ├── Product.java │ │ │ ├── ProductRanking.java │ │ │ └── ShoppingCart.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_13_iv │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── shop │ │ │ ├── Battery.java │ │ │ ├── Disc.java │ │ │ ├── Main.java │ │ │ ├── Product.java │ │ │ ├── ProductRanking.java │ │ │ └── ShoppingCart.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_14 │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── shop │ │ │ ├── Battery.java │ │ │ ├── Cashier.java │ │ │ ├── Disc.java │ │ │ ├── Main.java │ │ │ ├── Product.java │ │ │ └── ShoppingCart.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_15_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── shop │ │ │ ├── Battery.java │ │ │ ├── Cashier.java │ │ │ ├── CheckoutEvent.java │ │ │ ├── CheckoutListener.java │ │ │ ├── Disc.java │ │ │ ├── Main.java │ │ │ ├── Product.java │ │ │ └── ShoppingCart.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_15_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── shop │ │ │ ├── Battery.java │ │ │ ├── Cashier.java │ │ │ ├── CheckoutEvent.java │ │ │ ├── CheckoutListener.java │ │ │ ├── Disc.java │ │ │ ├── Main.java │ │ │ ├── Product.java │ │ │ └── ShoppingCart.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_16_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── shop │ │ │ ├── Battery.java │ │ │ ├── Disc.java │ │ │ ├── Main.java │ │ │ ├── Product.java │ │ │ ├── ProductRanking.java │ │ │ └── ShoppingCart.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_16_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── shop │ │ │ ├── Battery.java │ │ │ ├── Disc.java │ │ │ ├── Main.java │ │ │ ├── Product.java │ │ │ ├── ProductRanking.java │ │ │ └── ShoppingCart.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_16_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── shop │ │ │ ├── Battery.java │ │ │ ├── Disc.java │ │ │ ├── Main.java │ │ │ ├── Product.java │ │ │ ├── ProductEditor.java │ │ │ ├── ProductRanking.java │ │ │ └── ShoppingCart.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_17_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── sequence │ │ │ ├── DatePrefixGenerator.java │ │ │ ├── Main.java │ │ │ ├── PrefixGenerator.java │ │ │ └── SequenceGenerator.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_17_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── sequence │ │ │ ├── DatePrefixGenerator.java │ │ │ ├── Main.java │ │ │ ├── PrefixGenerator.java │ │ │ ├── ReverseGenerator.java │ │ │ └── SequenceGenerator.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_17_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── sequence │ │ │ ├── Main.java │ │ │ └── SequenceGenerator.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_17_iv │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── sequence │ │ │ ├── Main.java │ │ │ └── SequenceGenerator.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_18_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── interest │ │ │ ├── InterestCalculator.java │ │ │ └── Main.java │ │ └── resources │ │ ├── SimpleInterestCalculator.rb │ │ ├── beans.xml │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── interest │ │ └── SimpleInterestCalculator.rb ├── Recipe_2_18_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── interest │ │ │ ├── InterestCalculator.java │ │ │ └── Main.java │ │ └── resources │ │ ├── beans.xml │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── interest │ │ └── SimpleInterestCalculator.groovy ├── Recipe_2_18_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── interest │ │ │ ├── InterestCalculator.java │ │ │ └── Main.java │ │ └── resources │ │ ├── beans.xml │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── interest │ │ └── SimpleInterestCalculator.bsh ├── Recipe_2_19_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── interest │ │ │ ├── FixedRateCalculator.java │ │ │ ├── InterestCalculator.java │ │ │ ├── Main.java │ │ │ └── RateCalculator.java │ │ └── resources │ │ ├── beans.xml │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── interest │ │ └── SimpleInterestCalculator.rb ├── Recipe_2_19_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── interest │ │ │ ├── FixedRateCalculator.java │ │ │ ├── InterestCalculator.java │ │ │ ├── Main.java │ │ │ └── RateCalculator.java │ │ └── resources │ │ ├── beans.xml │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── interest │ │ └── SimpleInterestCalculator.groovy ├── Recipe_2_19_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── interest │ │ │ ├── FixedRateCalculator.java │ │ │ ├── InterestCalculator.java │ │ │ ├── Main.java │ │ │ └── RateCalculator.java │ │ └── resources │ │ ├── beans.xml │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── interest │ │ └── SimpleInterestCalculator.bsh ├── Recipe_2_20_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── interest │ │ │ ├── FixedRateCalculator.java │ │ │ ├── InterestCalculator.java │ │ │ ├── Main.java │ │ │ └── RateCalculator.java │ │ └── resources │ │ ├── beans.xml │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── interest │ │ └── SimpleInterestCalculator.rb ├── Recipe_2_20_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── interest │ │ │ ├── FixedRateCalculator.java │ │ │ ├── InterestCalculator.java │ │ │ ├── Main.java │ │ │ └── RateCalculator.java │ │ └── resources │ │ ├── beans.xml │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── interest │ │ └── SimpleInterestCalculator.groovy ├── Recipe_2_20_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── interest │ │ │ ├── FixedRateCalculator.java │ │ │ ├── InterestCalculator.java │ │ │ ├── Main.java │ │ │ └── RateCalculator.java │ │ └── resources │ │ ├── beans.xml │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── interest │ │ └── SimpleInterestCalculator.bsh ├── Recipe_2_21_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── interest │ │ │ ├── FixedRateCalculator.java │ │ │ ├── InterestCalculator.java │ │ │ ├── Main.java │ │ │ └── RateCalculator.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_21_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── interest │ │ │ ├── FixedRateCalculator.java │ │ │ ├── InterestCalculator.java │ │ │ ├── Main.java │ │ │ └── RateCalculator.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_21_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── interest │ │ │ ├── FixedRateCalculator.java │ │ │ ├── InterestCalculator.java │ │ │ ├── Main.java │ │ │ └── RateCalculator.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_22_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── spel │ │ │ ├── CommonData.java │ │ │ ├── EmailUtilities.java │ │ │ └── Main.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_22_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── spel │ │ │ ├── CommonData.java │ │ │ ├── EmailUtilities.java │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── SpelConfiguration.java │ │ └── resources │ │ ├── appContext.xml │ │ └── beans.xml ├── Recipe_2_2_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── shop │ │ │ ├── Battery.java │ │ │ ├── Disc.java │ │ │ ├── Main.java │ │ │ └── Product.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_2_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── sequence │ │ │ ├── Main.java │ │ │ └── SequenceGenerator.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_2_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── sequence │ │ │ ├── Main.java │ │ │ └── SequenceGenerator.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_3_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── sequence │ │ │ ├── DatePrefixGenerator.java │ │ │ ├── Main.java │ │ │ ├── PrefixGenerator.java │ │ │ └── SequenceGenerator.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_3_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── sequence │ │ │ ├── DatePrefixGenerator.java │ │ │ ├── Main.java │ │ │ ├── PrefixGenerator.java │ │ │ └── SequenceGenerator.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_3_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── sequence │ │ │ ├── DatePrefixGenerator.java │ │ │ ├── Main.java │ │ │ ├── NumberPrefixGenerator.java │ │ │ ├── PrefixGenerator.java │ │ │ └── SequenceGenerator.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_3_iv │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── sequence │ │ │ ├── DatePrefixGenerator.java │ │ │ ├── Main.java │ │ │ ├── PrefixGenerator.java │ │ │ └── SequenceGenerator.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_3_v │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── sequence │ │ │ ├── DatePrefixGenerator.java │ │ │ ├── Main.java │ │ │ ├── NumberPrefixGenerator.java │ │ │ ├── PrefixGenerator.java │ │ │ └── SequenceGenerator.java │ │ └── resources │ │ ├── beans.xml │ │ └── generators.xml ├── Recipe_2_4_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── sequence │ │ │ ├── Main.java │ │ │ └── SequenceGenerator.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_4_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── sequence │ │ │ ├── Main.java │ │ │ └── SequenceGenerator.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_4_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── sequence │ │ │ ├── Main.java │ │ │ └── SequenceGenerator.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_4_iv │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── sequence │ │ │ ├── Main.java │ │ │ └── SequenceGenerator.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_4_v │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── sequence │ │ │ ├── Main.java │ │ │ └── SequenceGenerator.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_4_vi │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── sequence │ │ │ ├── Main.java │ │ │ └── SequenceGenerator.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_4_vii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── sequence │ │ │ ├── Main.java │ │ │ └── SequenceGenerator.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_5_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── shop │ │ │ ├── Battery.java │ │ │ ├── Disc.java │ │ │ ├── Main.java │ │ │ ├── Product.java │ │ │ └── ShoppingCart.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_5_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── shop │ │ │ ├── Battery.java │ │ │ ├── Disc.java │ │ │ ├── Main.java │ │ │ ├── Product.java │ │ │ └── ShoppingCart.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_6_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── shop │ │ │ ├── Battery.java │ │ │ ├── Disc.java │ │ │ ├── Main.java │ │ │ ├── Product.java │ │ │ └── ShoppingCart.java │ │ └── resources │ │ ├── beans.xml │ │ └── discounts.properties ├── Recipe_2_6_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── shop │ │ │ ├── BannerLoader.java │ │ │ ├── Battery.java │ │ │ ├── Disc.java │ │ │ ├── Main.java │ │ │ ├── Product.java │ │ │ └── ShoppingCart.java │ │ └── resources │ │ ├── banner.txt │ │ ├── beans.xml │ │ └── discounts.properties ├── Recipe_2_7 │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── shop │ │ │ └── Main.java │ │ └── resources │ │ ├── beans.xml │ │ └── messages_en_US.properties ├── Recipe_2_8_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── shop │ │ │ ├── Battery.java │ │ │ ├── Cashier.java │ │ │ ├── Disc.java │ │ │ ├── Main.java │ │ │ ├── Product.java │ │ │ └── ShoppingCart.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_8_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── shop │ │ │ ├── Battery.java │ │ │ ├── Cashier.java │ │ │ ├── Disc.java │ │ │ ├── Main.java │ │ │ ├── Product.java │ │ │ └── ShoppingCart.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_8_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── sequence │ │ │ ├── DatePrefixGenerator.java │ │ │ ├── Main.java │ │ │ ├── NumberPrefixGenerator.java │ │ │ ├── PrefixGenerator.java │ │ │ └── SequenceGenerator.java │ │ └── resources │ │ └── beans.xml ├── Recipe_2_9 │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── shop │ │ │ ├── AuditCheckBeanPostProcessor.java │ │ │ ├── Battery.java │ │ │ ├── Cashier.java │ │ │ ├── Disc.java │ │ │ ├── Main.java │ │ │ ├── Product.java │ │ │ ├── ProductCheckBeanPostProcessor.java │ │ │ └── ShoppingCart.java │ │ └── resources │ │ └── beans.xml └── build.gradle ├── Ch3 ├── Recipe_3_10_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── shop │ │ │ ├── Battery.java │ │ │ ├── Disc.java │ │ │ ├── Main.java │ │ │ ├── Product.java │ │ │ ├── ProductCreator.java │ │ │ ├── ShoppingCart.java │ │ │ └── config │ │ │ └── ShopConfiguration.java │ │ └── resources │ │ └── appContext.xml ├── Recipe_3_10_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── shop │ │ │ ├── Battery.java │ │ │ ├── Disc.java │ │ │ ├── Main.java │ │ │ ├── Product.java │ │ │ ├── ProductCreator.java │ │ │ ├── ShoppingCart.java │ │ │ └── config │ │ │ └── ShopConfiguration.java │ │ └── resources │ │ └── appContext.xml ├── Recipe_3_10_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── shop │ │ │ ├── Battery.java │ │ │ ├── Disc.java │ │ │ ├── DiscountFactoryBean.java │ │ │ ├── Main.java │ │ │ ├── Product.java │ │ │ ├── ShoppingCart.java │ │ │ └── config │ │ │ └── ShopConfiguration.java │ │ └── resources │ │ ├── appContext.xml │ │ └── beans.xml ├── Recipe_3_11 │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── shop │ │ ├── Battery.java │ │ ├── Cashier.java │ │ ├── Disc.java │ │ ├── Main.java │ │ ├── Product.java │ │ ├── ShoppingCart.java │ │ └── config │ │ ├── ShopConfigurationAut.java │ │ ├── ShopConfigurationGlobal.java │ │ ├── ShopConfigurationSpr.java │ │ └── ShopConfigurationSumWin.java ├── Recipe_3_12_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── calculator │ │ │ ├── ArithmeticCalculator.java │ │ │ ├── ArithmeticCalculatorImpl.java │ │ │ ├── CalculatorLoggingAspect.java │ │ │ ├── Main.java │ │ │ ├── UnitCalculator.java │ │ │ └── UnitCalculatorImpl.java │ │ └── resources │ │ ├── appContext.xml │ │ └── log4j.properties ├── Recipe_3_12_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── calculator │ │ │ ├── ArithmeticCalculator.java │ │ │ ├── ArithmeticCalculatorImpl.java │ │ │ ├── CalculatorLoggingAspect.java │ │ │ ├── Main.java │ │ │ ├── UnitCalculator.java │ │ │ └── UnitCalculatorImpl.java │ │ └── resources │ │ ├── appContext.xml │ │ └── log4j.properties ├── Recipe_3_12_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── calculator │ │ │ ├── ArithmeticCalculator.java │ │ │ ├── ArithmeticCalculatorImpl.java │ │ │ ├── CalculatorLoggingAspect.java │ │ │ ├── Main.java │ │ │ ├── UnitCalculator.java │ │ │ └── UnitCalculatorImpl.java │ │ └── resources │ │ ├── appContext.xml │ │ └── log4j.properties ├── Recipe_3_12_iv │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── calculator │ │ │ ├── ArithmeticCalculator.java │ │ │ ├── ArithmeticCalculatorImpl.java │ │ │ ├── CalculatorLoggingAspect.java │ │ │ ├── Main.java │ │ │ ├── UnitCalculator.java │ │ │ └── UnitCalculatorImpl.java │ │ └── resources │ │ ├── appContext.xml │ │ └── log4j.properties ├── Recipe_3_12_v │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── calculator │ │ │ ├── ArithmeticCalculator.java │ │ │ ├── ArithmeticCalculatorImpl.java │ │ │ ├── CalculatorLoggingAspect.java │ │ │ ├── Main.java │ │ │ ├── UnitCalculator.java │ │ │ └── UnitCalculatorImpl.java │ │ └── resources │ │ ├── appContext.xml │ │ └── log4j.properties ├── Recipe_3_13 │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── calculator │ │ │ ├── ArithmeticCalculator.java │ │ │ ├── ArithmeticCalculatorImpl.java │ │ │ ├── CalculatorLoggingAspect.java │ │ │ ├── Main.java │ │ │ ├── UnitCalculator.java │ │ │ └── UnitCalculatorImpl.java │ │ └── resources │ │ ├── appContext.xml │ │ └── log4j.properties ├── Recipe_3_14_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── calculator │ │ │ ├── ArithmeticCalculator.java │ │ │ ├── ArithmeticCalculatorImpl.java │ │ │ ├── CalculatorLoggingAspect.java │ │ │ ├── CalculatorValidationAspect.java │ │ │ ├── Main.java │ │ │ ├── UnitCalculator.java │ │ │ └── UnitCalculatorImpl.java │ │ └── resources │ │ ├── appContext.xml │ │ └── log4j.properties ├── Recipe_3_14_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── calculator │ │ │ ├── ArithmeticCalculator.java │ │ │ ├── ArithmeticCalculatorImpl.java │ │ │ ├── CalculatorLoggingAspect.java │ │ │ ├── CalculatorValidationAspect.java │ │ │ ├── Main.java │ │ │ ├── UnitCalculator.java │ │ │ └── UnitCalculatorImpl.java │ │ └── resources │ │ ├── appContext.xml │ │ └── log4j.properties ├── Recipe_3_15_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── calculator │ │ │ ├── ArithmeticCalculator.java │ │ │ ├── ArithmeticCalculatorImpl.java │ │ │ ├── CalculatorLoggingAspect.java │ │ │ ├── Main.java │ │ │ ├── UnitCalculator.java │ │ │ └── UnitCalculatorImpl.java │ │ └── resources │ │ ├── appContext.xml │ │ └── log4j.properties ├── Recipe_3_15_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── calculator │ │ │ ├── ArithmeticCalculator.java │ │ │ ├── ArithmeticCalculatorImpl.java │ │ │ ├── CalculatorLoggingAspect.java │ │ │ ├── CalculatorPointcuts.java │ │ │ ├── Main.java │ │ │ ├── UnitCalculator.java │ │ │ └── UnitCalculatorImpl.java │ │ └── resources │ │ ├── appContext.xml │ │ └── log4j.properties ├── Recipe_3_16_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── calculator │ │ │ ├── ArithmeticCalculator.java │ │ │ ├── ArithmeticCalculatorImpl.java │ │ │ ├── CalculatorLoggingAspect.java │ │ │ ├── CalculatorPointcuts.java │ │ │ ├── LoggingRequired.java │ │ │ ├── Main.java │ │ │ ├── UnitCalculator.java │ │ │ └── UnitCalculatorImpl.java │ │ └── resources │ │ ├── appContext.xml │ │ └── log4j.properties ├── Recipe_3_16_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── calculator │ │ │ ├── ArithmeticCalculator.java │ │ │ ├── ArithmeticCalculatorImpl.java │ │ │ ├── CalculatorLoggingAspect.java │ │ │ ├── CalculatorPointcuts.java │ │ │ ├── LoggingRequired.java │ │ │ ├── Main.java │ │ │ ├── UnitCalculator.java │ │ │ └── UnitCalculatorImpl.java │ │ └── resources │ │ ├── appContext.xml │ │ └── log4j.properties ├── Recipe_3_16_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── calculator │ │ │ ├── ArithmeticCalculator.java │ │ │ ├── ArithmeticCalculatorImpl.java │ │ │ ├── CalculatorLoggingAspect.java │ │ │ ├── CalculatorPointcuts.java │ │ │ ├── LoggingRequired.java │ │ │ ├── Main.java │ │ │ ├── UnitCalculator.java │ │ │ └── UnitCalculatorImpl.java │ │ └── resources │ │ ├── appContext.xml │ │ └── log4j.properties ├── Recipe_3_16_iv │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── calculator │ │ │ ├── ArithmeticCalculator.java │ │ │ ├── ArithmeticCalculatorImpl.java │ │ │ ├── CalculatorLoggingAspect.java │ │ │ ├── CalculatorPointcuts.java │ │ │ ├── LoggingRequired.java │ │ │ ├── Main.java │ │ │ ├── UnitCalculator.java │ │ │ └── UnitCalculatorImpl.java │ │ └── resources │ │ ├── appContext.xml │ │ └── log4j.properties ├── Recipe_3_17 │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── calculator │ │ │ ├── ArithmeticCalculator.java │ │ │ ├── ArithmeticCalculatorImpl.java │ │ │ ├── CalculatorIntroduction.java │ │ │ ├── CalculatorLoggingAspect.java │ │ │ ├── CalculatorPointcuts.java │ │ │ ├── LoggingRequired.java │ │ │ ├── Main.java │ │ │ ├── MaxCalculator.java │ │ │ ├── MaxCalculatorImpl.java │ │ │ ├── MinCalculator.java │ │ │ ├── MinCalculatorImpl.java │ │ │ ├── UnitCalculator.java │ │ │ └── UnitCalculatorImpl.java │ │ └── resources │ │ ├── appContext.xml │ │ └── log4j.properties ├── Recipe_3_18 │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── calculator │ │ │ ├── ArithmeticCalculator.java │ │ │ ├── ArithmeticCalculatorImpl.java │ │ │ ├── CalculatorIntroduction.java │ │ │ ├── CalculatorLoggingAspect.java │ │ │ ├── CalculatorPointcuts.java │ │ │ ├── Counter.java │ │ │ ├── CounterImpl.java │ │ │ ├── LoggingRequired.java │ │ │ ├── Main.java │ │ │ ├── MaxCalculator.java │ │ │ ├── MaxCalculatorImpl.java │ │ │ ├── MinCalculator.java │ │ │ ├── MinCalculatorImpl.java │ │ │ ├── UnitCalculator.java │ │ │ └── UnitCalculatorImpl.java │ │ └── resources │ │ ├── appContext.xml │ │ └── log4j.properties ├── Recipe_3_19_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── calculator │ │ │ ├── Complex.java │ │ │ ├── ComplexCalculator.java │ │ │ ├── ComplexCalculatorImpl.java │ │ │ └── Main.java │ │ └── resources │ │ ├── appContext.xml │ │ └── log4j.properties ├── Recipe_3_19_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── calculator │ │ │ ├── Complex.java │ │ │ ├── ComplexCachingAspect.java │ │ │ ├── ComplexCalculator.java │ │ │ ├── ComplexCalculatorImpl.java │ │ │ └── Main.java │ │ └── resources │ │ ├── META-INF │ │ └── aop.xml │ │ ├── appContext.xml │ │ └── log4j.properties ├── Recipe_3_19_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── calculator │ │ │ ├── Complex.java │ │ │ ├── ComplexCachingAspect.java │ │ │ ├── ComplexCalculator.java │ │ │ ├── ComplexCalculatorImpl.java │ │ │ └── Main.java │ │ └── resources │ │ ├── META-INF │ │ └── aop.xml │ │ ├── appContext.xml │ │ └── log4j.properties ├── Recipe_3_1_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── sequence │ │ │ ├── Main.java │ │ │ ├── SequenceGenerator.java │ │ │ └── config │ │ │ └── SequenceGeneratorConfiguration.java │ │ └── resources │ │ └── appContext.xml ├── Recipe_3_1_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── sequence │ │ │ ├── Main.java │ │ │ ├── Sequence.java │ │ │ ├── SequenceDao.java │ │ │ └── SequenceDaoImpl.java │ │ └── resources │ │ └── appContext.xml ├── Recipe_3_1_iii │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── sequence │ │ ├── Main.java │ │ ├── Sequence.java │ │ ├── SequenceDao.java │ │ └── SequenceDaoImpl.java ├── Recipe_3_2 │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── shop │ │ │ ├── Battery.java │ │ │ ├── Disc.java │ │ │ ├── Main.java │ │ │ ├── Product.java │ │ │ └── config │ │ │ └── ShopConfiguration.java │ │ └── resources │ │ └── appContext.xml ├── Recipe_3_20 │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── calculator │ │ │ ├── Complex.java │ │ │ ├── ComplexCachingAspect.java │ │ │ ├── ComplexCalculator.java │ │ │ ├── ComplexCalculatorImpl.java │ │ │ └── Main.java │ │ └── resources │ │ ├── META-INF │ │ └── aop.xml │ │ ├── appContext.xml │ │ └── log4j.properties ├── Recipe_3_21 │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── calculator │ │ │ ├── Complex.java │ │ │ ├── ComplexCachingAspect.java │ │ │ ├── ComplexCalculator.java │ │ │ ├── ComplexCalculatorImpl.java │ │ │ ├── ComplexFormatter.java │ │ │ └── Main.java │ │ └── resources │ │ ├── META-INF │ │ └── aop.xml │ │ ├── appContext.xml │ │ └── log4j.properties ├── Recipe_3_22_i │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── executors │ │ ├── DemonstrationRunnable.java │ │ └── ExecutorsDemo.java ├── Recipe_3_22_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── executors │ │ │ ├── DemonstrationRunnable.java │ │ │ ├── ExecutorsDemo.java │ │ │ └── SpringExecutorsDemo.java │ │ └── resources │ │ └── appContext.xml ├── Recipe_3_3_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── sequence │ │ │ ├── DatePrefixGenerator.java │ │ │ ├── Main.java │ │ │ ├── PrefixGenerator.java │ │ │ ├── SequenceGenerator.java │ │ │ └── config │ │ │ └── SequenceConfiguration.java │ │ └── resources │ │ └── appContext.xml ├── Recipe_3_3_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── sequence │ │ │ ├── Main.java │ │ │ ├── Sequence.java │ │ │ ├── SequenceDao.java │ │ │ ├── SequenceDaoImpl.java │ │ │ └── SequenceService.java │ │ └── resources │ │ └── appContext.xml ├── Recipe_3_3_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── sequence │ │ │ ├── DatePrefixGenerator.java │ │ │ ├── Main.java │ │ │ ├── NumberPrefixGenerator.java │ │ │ ├── PrefixGenerator.java │ │ │ ├── SequenceGenerator.java │ │ │ └── config │ │ │ └── SequenceConfiguration.java │ │ └── resources │ │ └── appContext.xml ├── Recipe_3_3_iv │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── sequence │ │ │ ├── DatePrefixGenerator.java │ │ │ ├── Main.java │ │ │ ├── PrefixGenerator.java │ │ │ ├── SequenceGenerator.java │ │ │ └── config │ │ │ └── SequenceConfiguration.java │ │ └── resources │ │ └── appContext.xml ├── Recipe_3_3_v │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── sequence │ │ │ ├── DatePrefixGenerator.java │ │ │ ├── Main.java │ │ │ ├── NumberPrefixGenerator.java │ │ │ ├── PrefixGenerator.java │ │ │ ├── SequenceGenerator.java │ │ │ └── config │ │ │ └── SequenceConfiguration.java │ │ └── resources │ │ └── appContext.xml ├── Recipe_3_3_vi │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── sequence │ │ │ ├── DatePrefixGenerator.java │ │ │ ├── Main.java │ │ │ ├── NumberPrefixGenerator.java │ │ │ ├── PrefixGenerator.java │ │ │ ├── SequenceGenerator.java │ │ │ └── config │ │ │ └── SequenceConfiguration.java │ │ └── resources │ │ └── appContext.xml ├── Recipe_3_3_vii │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── sequence │ │ ├── DatePrefixGenerator.java │ │ ├── Main.java │ │ ├── PrefixGenerator.java │ │ ├── SequenceGenerator.java │ │ └── config │ │ ├── PrefixConfiguration.java │ │ └── SequenceConfiguration.java ├── Recipe_3_4_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── sequence │ │ │ ├── DatePrefixGenerator.java │ │ │ ├── Main.java │ │ │ ├── NumberPrefixGenerator.java │ │ │ ├── PrefixGenerator.java │ │ │ ├── SequenceGenerator.java │ │ │ └── config │ │ │ └── SequenceConfiguration.java │ │ └── resources │ │ └── appContext.xml ├── Recipe_3_4_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── sequence │ │ │ ├── DatePrefixAnnotation.java │ │ │ ├── DatePrefixGenerator.java │ │ │ ├── Main.java │ │ │ ├── NumberPrefixAnnotation.java │ │ │ ├── NumberPrefixGenerator.java │ │ │ ├── PrefixGenerator.java │ │ │ ├── SequenceGenerator.java │ │ │ └── config │ │ │ └── SequenceConfiguration.java │ │ └── resources │ │ └── appContext.xml ├── Recipe_3_5_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── shop │ │ │ ├── Battery.java │ │ │ ├── Disc.java │ │ │ ├── Main.java │ │ │ ├── Product.java │ │ │ ├── ShoppingCart.java │ │ │ └── config │ │ │ └── ShopConfiguration.java │ │ └── resources │ │ └── appContext.xml ├── Recipe_3_5_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── shop │ │ │ ├── Battery.java │ │ │ ├── Disc.java │ │ │ ├── Main.java │ │ │ ├── Product.java │ │ │ ├── ShoppingCart.java │ │ │ └── config │ │ │ └── ShopConfiguration.java │ │ └── resources │ │ └── appContext.xml ├── Recipe_3_6_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── shop │ │ │ ├── Battery.java │ │ │ ├── Disc.java │ │ │ ├── Main.java │ │ │ ├── Product.java │ │ │ ├── ShoppingCart.java │ │ │ └── config │ │ │ └── ShopConfiguration.java │ │ └── resources │ │ ├── appContext.xml │ │ └── discounts.properties ├── Recipe_3_6_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── shop │ │ │ ├── BannerLoader.java │ │ │ ├── Battery.java │ │ │ ├── Disc.java │ │ │ ├── Main.java │ │ │ ├── Product.java │ │ │ ├── ShoppingCart.java │ │ │ └── config │ │ │ └── ShopConfiguration.java │ │ └── resources │ │ ├── appContext.xml │ │ ├── banner.txt │ │ ├── beans.xml │ │ └── discounts.properties ├── Recipe_3_7 │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── shop │ │ │ ├── Main.java │ │ │ └── config │ │ │ └── ShopConfiguration.java │ │ └── resources │ │ ├── appContext.xml │ │ └── messages_en_US.properties ├── Recipe_3_8_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── shop │ │ │ ├── Battery.java │ │ │ ├── Cashier.java │ │ │ ├── Disc.java │ │ │ ├── Main.java │ │ │ ├── Product.java │ │ │ ├── ShoppingCart.java │ │ │ └── config │ │ │ └── ShopConfiguration.java │ │ └── resources │ │ └── appContext.xml ├── Recipe_3_8_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── shop │ │ │ ├── Battery.java │ │ │ ├── Cashier.java │ │ │ ├── Disc.java │ │ │ ├── Main.java │ │ │ ├── Product.java │ │ │ ├── ShoppingCart.java │ │ │ └── config │ │ │ └── ShopConfiguration.java │ │ └── resources │ │ └── appContext.xml ├── Recipe_3_8_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── shop │ │ │ ├── Battery.java │ │ │ ├── Cashier.java │ │ │ ├── Disc.java │ │ │ ├── Main.java │ │ │ ├── Product.java │ │ │ ├── ShoppingCart.java │ │ │ └── config │ │ │ └── ShopConfiguration.java │ │ └── resources │ │ └── appContext.xml ├── Recipe_3_8_iv │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── sequence │ │ │ ├── DatePrefixGenerator.java │ │ │ ├── Main.java │ │ │ ├── NumberPrefixGenerator.java │ │ │ ├── PrefixGenerator.java │ │ │ ├── SequenceGenerator.java │ │ │ └── config │ │ │ └── SequenceConfiguration.java │ │ └── resources │ │ └── appContext.xml ├── Recipe_3_9_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── shop │ │ │ ├── AuditCheckBeanPostProcessor.java │ │ │ ├── Battery.java │ │ │ ├── Cashier.java │ │ │ ├── Disc.java │ │ │ ├── Main.java │ │ │ ├── Product.java │ │ │ ├── ProductCheckBeanPostProcessor.java │ │ │ ├── ShoppingCart.java │ │ │ └── config │ │ │ └── ShopConfiguration.java │ │ └── resources │ │ └── appContext.xml ├── Recipe_3_9_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── shop │ │ │ ├── AuditCheckBeanPostProcessor.java │ │ │ ├── Battery.java │ │ │ ├── Cashier.java │ │ │ ├── Disc.java │ │ │ ├── Main.java │ │ │ ├── Product.java │ │ │ ├── ProductCheckBeanPostProcessor.java │ │ │ ├── ShoppingCart.java │ │ │ └── config │ │ │ └── ShopConfiguration.java │ │ └── resources │ │ └── appContext.xml ├── Recipe_3_9_iii │ ├── Recipe_3_3_i │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── apress │ │ │ │ └── springrecipes │ │ │ │ └── sequence │ │ │ │ ├── DatePrefixGenerator.java │ │ │ │ ├── Main.java │ │ │ │ ├── PrefixGenerator.java │ │ │ │ ├── SequenceGenerator.java │ │ │ │ └── config │ │ │ │ └── SequenceConfiguration.java │ │ │ └── resources │ │ │ └── appContext.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── sequence │ │ │ ├── DatePrefixGenerator.java │ │ │ ├── Main.java │ │ │ ├── PrefixGenerator.java │ │ │ ├── SequenceGenerator.java │ │ │ └── config │ │ │ └── SequenceConfiguration.java │ │ └── resources │ │ └── appContext.xml ├── Recipe_3_9_iv │ ├── Recipe_3_3_i │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── apress │ │ │ │ └── springrecipes │ │ │ │ └── sequence │ │ │ │ ├── DatePrefixGenerator.java │ │ │ │ ├── Main.java │ │ │ │ ├── PrefixGenerator.java │ │ │ │ ├── SequenceGenerator.java │ │ │ │ └── config │ │ │ │ └── SequenceConfiguration.java │ │ │ └── resources │ │ │ └── appContext.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── sequence │ │ │ ├── DatePrefixGenerator.java │ │ │ ├── Main.java │ │ │ ├── PrefixGenerator.java │ │ │ ├── SequenceGenerator.java │ │ │ └── config │ │ │ └── SequenceConfiguration.java │ │ └── resources │ │ └── appContext.xml └── build.gradle ├── Ch4 ├── Recipe_4_10_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── court │ │ │ ├── domain │ │ │ ├── Player.java │ │ │ ├── Reservation.java │ │ │ ├── ReservationValidator.java │ │ │ ├── SportType.java │ │ │ └── SportTypeConverter.java │ │ │ ├── service │ │ │ ├── ReservationNotAvailableException.java │ │ │ ├── ReservationService.java │ │ │ ├── ReservationServiceImpl.java │ │ │ └── config │ │ │ │ └── ServiceConfiguration.java │ │ │ └── web │ │ │ ├── CourtApplicationInitializer.java │ │ │ ├── ExceptionHandlingAdvice.java │ │ │ ├── ExtensionInterceptor.java │ │ │ ├── MeasurementInterceptor.java │ │ │ ├── ReservationFormController.java │ │ │ ├── ReservationQueryController.java │ │ │ ├── WelcomeController.java │ │ │ └── config │ │ │ └── WebConfiguration.java │ │ ├── resources │ │ ├── court-views.properties │ │ ├── logback.xml │ │ ├── messages.properties │ │ └── messages_de.properties │ │ └── webapp │ │ └── WEB-INF │ │ ├── court-servlet.xml │ │ ├── jsp │ │ ├── error.jsp │ │ ├── reservationForm.jsp │ │ ├── reservationNotAvailable.jsp │ │ ├── reservationQuery.jsp │ │ ├── reservationSuccess.jsp │ │ └── welcome.jsp │ │ └── web.xml ├── Recipe_4_11_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── court │ │ │ ├── domain │ │ │ ├── Player.java │ │ │ ├── Reservation.java │ │ │ ├── ReservationValidator.java │ │ │ ├── SportType.java │ │ │ └── SportTypeConverter.java │ │ │ ├── service │ │ │ ├── ReservationNotAvailableException.java │ │ │ ├── ReservationService.java │ │ │ ├── ReservationServiceImpl.java │ │ │ └── config │ │ │ │ └── ServiceConfiguration.java │ │ │ └── web │ │ │ ├── CourtApplicationInitializer.java │ │ │ ├── ExceptionHandlingAdvice.java │ │ │ ├── ExtensionInterceptor.java │ │ │ ├── MeasurementInterceptor.java │ │ │ ├── ReservationFormController.java │ │ │ ├── ReservationQueryController.java │ │ │ ├── ReservationSummaryController.java │ │ │ ├── ReservationWebException.java │ │ │ ├── WelcomeController.java │ │ │ ├── config │ │ │ └── WebConfiguration.java │ │ │ └── view │ │ │ ├── ExcelReservationSummary.java │ │ │ └── PdfReservationSummary.java │ │ ├── resources │ │ ├── court-views-pdf.properties │ │ ├── court-views.properties │ │ ├── logback.xml │ │ ├── messages.properties │ │ └── messages_de.properties │ │ └── webapp │ │ └── WEB-INF │ │ ├── court-servlet.xml │ │ ├── jsp │ │ ├── error.jsp │ │ ├── reservationForm.jsp │ │ ├── reservationNotAvailable.jsp │ │ ├── reservationQuery.jsp │ │ ├── reservationSuccess.jsp │ │ ├── reservationSummary.jsp │ │ └── welcome.jsp │ │ └── web.xml ├── Recipe_4_1_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── court │ │ │ ├── domain │ │ │ ├── Player.java │ │ │ ├── Reservation.java │ │ │ └── SportType.java │ │ │ ├── service │ │ │ ├── ReservationService.java │ │ │ └── ReservationServiceImpl.java │ │ │ └── web │ │ │ ├── ReservationQueryController.java │ │ │ └── WelcomeController.java │ │ ├── resources │ │ └── logback.xml │ │ └── webapp │ │ └── WEB-INF │ │ ├── court-service.xml │ │ ├── court-servlet.xml │ │ ├── jsp │ │ ├── reservationQuery.jsp │ │ └── welcome.jsp │ │ └── web.xml ├── Recipe_4_1_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── court │ │ │ ├── domain │ │ │ ├── Player.java │ │ │ ├── Reservation.java │ │ │ └── SportType.java │ │ │ ├── service │ │ │ ├── ReservationService.java │ │ │ ├── ReservationServiceImpl.java │ │ │ └── config │ │ │ │ └── ServiceConfiguration.java │ │ │ └── web │ │ │ ├── ReservationQueryController.java │ │ │ ├── WelcomeController.java │ │ │ └── config │ │ │ └── WebConfiguration.java │ │ ├── resources │ │ └── logback.xml │ │ └── webapp │ │ └── WEB-INF │ │ ├── court-service.xml │ │ ├── court-servlet.xml │ │ ├── jsp │ │ ├── reservationQuery.jsp │ │ └── welcome.jsp │ │ └── web.xml ├── Recipe_4_1_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── court │ │ │ ├── domain │ │ │ ├── Player.java │ │ │ ├── Reservation.java │ │ │ └── SportType.java │ │ │ ├── service │ │ │ ├── ReservationService.java │ │ │ ├── ReservationServiceImpl.java │ │ │ └── config │ │ │ │ └── ServiceConfiguration.java │ │ │ └── web │ │ │ ├── CourtApplicationInitializer.java │ │ │ ├── ReservationQueryController.java │ │ │ ├── WelcomeController.java │ │ │ └── config │ │ │ └── WebConfiguration.java │ │ ├── resources │ │ └── logback.xml │ │ └── webapp │ │ └── WEB-INF │ │ ├── jsp │ │ ├── reservationQuery.jsp │ │ └── welcome.jsp │ │ └── web.xml ├── Recipe_4_2_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── court │ │ │ ├── domain │ │ │ └── Member.java │ │ │ ├── service │ │ │ ├── MemberService.java │ │ │ ├── MemberServiceImpl.java │ │ │ └── config │ │ │ │ └── ServiceConfiguration.java │ │ │ └── web │ │ │ ├── CourtApplicationInitializer.java │ │ │ ├── MemberController.java │ │ │ └── config │ │ │ └── WebConfiguration.java │ │ ├── resources │ │ └── logback.xml │ │ └── webapp │ │ └── WEB-INF │ │ ├── jsp │ │ ├── reservationQuery.jsp │ │ └── welcome.jsp │ │ └── web.xml ├── Recipe_4_2_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── court │ │ │ ├── domain │ │ │ └── Member.java │ │ │ ├── service │ │ │ ├── MemberService.java │ │ │ ├── MemberServiceImpl.java │ │ │ └── config │ │ │ │ └── ServiceConfiguration.java │ │ │ └── web │ │ │ ├── CourtApplicationInitializer.java │ │ │ ├── MemberController.java │ │ │ └── config │ │ │ └── WebConfiguration.java │ │ ├── resources │ │ └── logback.xml │ │ └── webapp │ │ └── WEB-INF │ │ ├── jsp │ │ ├── reservationQuery.jsp │ │ └── welcome.jsp │ │ └── web.xml ├── Recipe_4_2_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── court │ │ │ ├── domain │ │ │ └── Member.java │ │ │ ├── service │ │ │ ├── MemberService.java │ │ │ ├── MemberServiceImpl.java │ │ │ └── config │ │ │ │ └── ServiceConfiguration.java │ │ │ └── web │ │ │ ├── CourtApplicationInitializer.java │ │ │ ├── MemberController.java │ │ │ └── config │ │ │ └── WebConfiguration.java │ │ ├── resources │ │ └── logback.xml │ │ └── webapp │ │ └── WEB-INF │ │ ├── jsp │ │ ├── reservationQuery.jsp │ │ └── welcome.jsp │ │ └── web.xml ├── Recipe_4_3_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── court │ │ │ ├── domain │ │ │ ├── Player.java │ │ │ ├── Reservation.java │ │ │ └── SportType.java │ │ │ ├── service │ │ │ ├── ReservationService.java │ │ │ ├── ReservationServiceImpl.java │ │ │ └── config │ │ │ │ └── ServiceConfiguration.java │ │ │ └── web │ │ │ ├── CourtApplicationInitializer.java │ │ │ ├── MeasurementInterceptor.java │ │ │ ├── ReservationQueryController.java │ │ │ ├── WelcomeController.java │ │ │ └── config │ │ │ └── WebConfiguration.java │ │ ├── resources │ │ └── logback.xml │ │ └── webapp │ │ └── WEB-INF │ │ ├── court-servlet.xml │ │ ├── jsp │ │ ├── reservationQuery.jsp │ │ └── welcome.jsp │ │ └── web.xml ├── Recipe_4_3_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── court │ │ │ ├── domain │ │ │ ├── Player.java │ │ │ ├── Reservation.java │ │ │ └── SportType.java │ │ │ ├── service │ │ │ ├── ReservationService.java │ │ │ ├── ReservationServiceImpl.java │ │ │ └── config │ │ │ │ └── ServiceConfiguration.java │ │ │ └── web │ │ │ ├── CourtApplicationInitializer.java │ │ │ ├── MeasurementInterceptor.java │ │ │ ├── ReservationQueryController.java │ │ │ ├── WelcomeController.java │ │ │ └── config │ │ │ └── WebConfiguration.java │ │ ├── resources │ │ └── logback.xml │ │ └── webapp │ │ └── WEB-INF │ │ ├── court-servlet.xml │ │ ├── jsp │ │ ├── reservationQuery.jsp │ │ └── welcome.jsp │ │ └── web.xml ├── Recipe_4_3_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── court │ │ │ ├── domain │ │ │ ├── Player.java │ │ │ ├── Reservation.java │ │ │ └── SportType.java │ │ │ ├── service │ │ │ ├── ReservationService.java │ │ │ ├── ReservationServiceImpl.java │ │ │ └── config │ │ │ │ └── ServiceConfiguration.java │ │ │ └── web │ │ │ ├── CourtApplicationInitializer.java │ │ │ ├── ExtensionInterceptor.java │ │ │ ├── MeasurementInterceptor.java │ │ │ ├── ReservationQueryController.java │ │ │ ├── WelcomeController.java │ │ │ └── config │ │ │ └── WebConfiguration.java │ │ ├── resources │ │ └── logback.xml │ │ └── webapp │ │ └── WEB-INF │ │ ├── court-servlet.xml │ │ ├── jsp │ │ ├── reservationQuery.jsp │ │ └── welcome.jsp │ │ └── web.xml ├── Recipe_4_4_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── court │ │ │ ├── domain │ │ │ ├── Player.java │ │ │ ├── Reservation.java │ │ │ └── SportType.java │ │ │ ├── service │ │ │ ├── ReservationService.java │ │ │ ├── ReservationServiceImpl.java │ │ │ └── config │ │ │ │ └── ServiceConfiguration.java │ │ │ └── web │ │ │ ├── CourtApplicationInitializer.java │ │ │ ├── ExtensionInterceptor.java │ │ │ ├── MeasurementInterceptor.java │ │ │ ├── ReservationQueryController.java │ │ │ ├── WelcomeController.java │ │ │ └── config │ │ │ └── WebConfiguration.java │ │ ├── resources │ │ └── logback.xml │ │ └── webapp │ │ └── WEB-INF │ │ ├── court-servlet.xml │ │ ├── jsp │ │ ├── reservationQuery.jsp │ │ └── welcome.jsp │ │ └── web.xml ├── Recipe_4_5_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── court │ │ │ ├── domain │ │ │ ├── Player.java │ │ │ ├── Reservation.java │ │ │ └── SportType.java │ │ │ ├── service │ │ │ ├── ReservationService.java │ │ │ ├── ReservationServiceImpl.java │ │ │ └── config │ │ │ │ └── ServiceConfiguration.java │ │ │ └── web │ │ │ ├── CourtApplicationInitializer.java │ │ │ ├── ExtensionInterceptor.java │ │ │ ├── MeasurementInterceptor.java │ │ │ ├── ReservationQueryController.java │ │ │ ├── WelcomeController.java │ │ │ └── config │ │ │ └── WebConfiguration.java │ │ ├── resources │ │ ├── logback.xml │ │ ├── messages.properties │ │ └── messages_de.properties │ │ └── webapp │ │ └── WEB-INF │ │ ├── court-servlet.xml │ │ ├── jsp │ │ ├── reservationQuery.jsp │ │ └── welcome.jsp │ │ └── web.xml ├── Recipe_4_6_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── court │ │ │ ├── domain │ │ │ ├── Player.java │ │ │ ├── Reservation.java │ │ │ └── SportType.java │ │ │ ├── service │ │ │ ├── ReservationService.java │ │ │ ├── ReservationServiceImpl.java │ │ │ └── config │ │ │ │ └── ServiceConfiguration.java │ │ │ └── web │ │ │ ├── CourtApplicationInitializer.java │ │ │ ├── ExtensionInterceptor.java │ │ │ ├── MeasurementInterceptor.java │ │ │ ├── ReservationQueryController.java │ │ │ ├── WelcomeController.java │ │ │ └── config │ │ │ └── WebConfiguration.java │ │ ├── resources │ │ ├── logback.xml │ │ ├── messages.properties │ │ └── messages_de.properties │ │ └── webapp │ │ └── WEB-INF │ │ ├── court-servlet.xml │ │ ├── court-views.xml │ │ ├── jsp │ │ ├── reservationQuery.jsp │ │ └── welcome.jsp │ │ └── web.xml ├── Recipe_4_6_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── court │ │ │ ├── domain │ │ │ ├── Player.java │ │ │ ├── Reservation.java │ │ │ └── SportType.java │ │ │ ├── service │ │ │ ├── ReservationService.java │ │ │ ├── ReservationServiceImpl.java │ │ │ └── config │ │ │ │ └── ServiceConfiguration.java │ │ │ └── web │ │ │ ├── CourtApplicationInitializer.java │ │ │ ├── ExtensionInterceptor.java │ │ │ ├── MeasurementInterceptor.java │ │ │ ├── ReservationQueryController.java │ │ │ ├── WelcomeController.java │ │ │ └── config │ │ │ └── WebConfiguration.java │ │ ├── resources │ │ ├── court-views.properties │ │ ├── logback.xml │ │ ├── messages.properties │ │ └── messages_de.properties │ │ └── webapp │ │ └── WEB-INF │ │ ├── court-servlet.xml │ │ ├── jsp │ │ ├── reservationQuery.jsp │ │ └── welcome.jsp │ │ └── web.xml ├── Recipe_4_6_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── court │ │ │ ├── domain │ │ │ ├── Player.java │ │ │ ├── Reservation.java │ │ │ └── SportType.java │ │ │ ├── service │ │ │ ├── ReservationService.java │ │ │ ├── ReservationServiceImpl.java │ │ │ └── config │ │ │ │ └── ServiceConfiguration.java │ │ │ └── web │ │ │ ├── CourtApplicationInitializer.java │ │ │ ├── ExtensionInterceptor.java │ │ │ ├── MeasurementInterceptor.java │ │ │ ├── ReservationQueryController.java │ │ │ ├── WelcomeController.java │ │ │ └── config │ │ │ └── WebConfiguration.java │ │ ├── resources │ │ ├── court-views.properties │ │ ├── logback.xml │ │ ├── messages.properties │ │ └── messages_de.properties │ │ └── webapp │ │ └── WEB-INF │ │ ├── court-servlet.xml │ │ ├── jsp │ │ ├── reservationQuery.jsp │ │ └── welcome.jsp │ │ └── web.xml ├── Recipe_4_7_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── court │ │ │ ├── domain │ │ │ ├── Player.java │ │ │ ├── Reservation.java │ │ │ └── SportType.java │ │ │ ├── service │ │ │ ├── ReservationService.java │ │ │ ├── ReservationServiceImpl.java │ │ │ └── config │ │ │ │ └── ServiceConfiguration.java │ │ │ └── web │ │ │ ├── CourtApplicationInitializer.java │ │ │ ├── ExtensionInterceptor.java │ │ │ ├── MeasurementInterceptor.java │ │ │ ├── ReservationQueryController.java │ │ │ ├── WelcomeController.java │ │ │ └── config │ │ │ └── WebConfiguration.java │ │ ├── resources │ │ ├── court-views.properties │ │ ├── logback.xml │ │ ├── messages.properties │ │ └── messages_de.properties │ │ └── webapp │ │ └── WEB-INF │ │ ├── court-servlet.xml │ │ ├── jsp │ │ ├── reservationQuery.jsp │ │ └── welcome.jsp │ │ └── web.xml ├── Recipe_4_8_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── court │ │ │ ├── domain │ │ │ ├── Player.java │ │ │ ├── Reservation.java │ │ │ ├── ReservationValidator.java │ │ │ └── SportType.java │ │ │ ├── service │ │ │ ├── ReservationNotAvailableException.java │ │ │ ├── ReservationService.java │ │ │ ├── ReservationServiceImpl.java │ │ │ └── config │ │ │ │ └── ServiceConfiguration.java │ │ │ └── web │ │ │ ├── CourtApplicationInitializer.java │ │ │ ├── ExtensionInterceptor.java │ │ │ ├── MeasurementInterceptor.java │ │ │ ├── ReservationFormController.java │ │ │ ├── ReservationQueryController.java │ │ │ ├── WelcomeController.java │ │ │ └── config │ │ │ └── WebConfiguration.java │ │ ├── resources │ │ ├── court-views.properties │ │ ├── logback.xml │ │ ├── messages.properties │ │ └── messages_de.properties │ │ └── webapp │ │ └── WEB-INF │ │ ├── court-servlet.xml │ │ ├── jsp │ │ ├── error.jsp │ │ ├── reservationForm.jsp │ │ ├── reservationNotAvailable.jsp │ │ ├── reservationQuery.jsp │ │ ├── reservationSuccess.jsp │ │ └── welcome.jsp │ │ └── web.xml ├── Recipe_4_8_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── court │ │ │ ├── domain │ │ │ ├── Player.java │ │ │ ├── Reservation.java │ │ │ ├── ReservationValidator.java │ │ │ └── SportType.java │ │ │ ├── service │ │ │ ├── ReservationNotAvailableException.java │ │ │ ├── ReservationService.java │ │ │ ├── ReservationServiceImpl.java │ │ │ └── config │ │ │ │ └── ServiceConfiguration.java │ │ │ └── web │ │ │ ├── CourtApplicationInitializer.java │ │ │ ├── ExtensionInterceptor.java │ │ │ ├── MeasurementInterceptor.java │ │ │ ├── ReservationFormController.java │ │ │ ├── ReservationQueryController.java │ │ │ ├── WelcomeController.java │ │ │ └── config │ │ │ └── WebConfiguration.java │ │ ├── resources │ │ ├── court-views.properties │ │ ├── logback.xml │ │ ├── messages.properties │ │ └── messages_de.properties │ │ └── webapp │ │ └── WEB-INF │ │ ├── court-servlet.xml │ │ ├── jsp │ │ ├── error.jsp │ │ ├── reservationForm.jsp │ │ ├── reservationNotAvailable.jsp │ │ ├── reservationQuery.jsp │ │ ├── reservationSuccess.jsp │ │ └── welcome.jsp │ │ └── web.xml ├── Recipe_4_8_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── court │ │ │ ├── domain │ │ │ ├── Player.java │ │ │ ├── Reservation.java │ │ │ ├── ReservationValidator.java │ │ │ └── SportType.java │ │ │ ├── service │ │ │ ├── ReservationNotAvailableException.java │ │ │ ├── ReservationService.java │ │ │ ├── ReservationServiceImpl.java │ │ │ └── config │ │ │ │ └── ServiceConfiguration.java │ │ │ └── web │ │ │ ├── CourtApplicationInitializer.java │ │ │ ├── ExceptionHandlingAdvice.java │ │ │ ├── ExtensionInterceptor.java │ │ │ ├── MeasurementInterceptor.java │ │ │ ├── ReservationFormController.java │ │ │ ├── ReservationQueryController.java │ │ │ ├── WelcomeController.java │ │ │ └── config │ │ │ └── WebConfiguration.java │ │ ├── resources │ │ ├── court-views.properties │ │ ├── logback.xml │ │ ├── messages.properties │ │ └── messages_de.properties │ │ └── webapp │ │ └── WEB-INF │ │ ├── court-servlet.xml │ │ ├── jsp │ │ ├── error.jsp │ │ ├── reservationForm.jsp │ │ ├── reservationNotAvailable.jsp │ │ ├── reservationQuery.jsp │ │ ├── reservationSuccess.jsp │ │ └── welcome.jsp │ │ └── web.xml ├── Recipe_4_9_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── court │ │ │ ├── domain │ │ │ ├── Player.java │ │ │ ├── Reservation.java │ │ │ └── SportType.java │ │ │ ├── service │ │ │ ├── ReservationNotAvailableException.java │ │ │ ├── ReservationService.java │ │ │ ├── ReservationServiceImpl.java │ │ │ └── config │ │ │ │ └── ServiceConfiguration.java │ │ │ └── web │ │ │ ├── CourtApplicationInitializer.java │ │ │ ├── ExceptionHandlingAdvice.java │ │ │ ├── ExtensionInterceptor.java │ │ │ ├── MeasurementInterceptor.java │ │ │ ├── ReservationFormController.java │ │ │ ├── ReservationQueryController.java │ │ │ ├── WelcomeController.java │ │ │ └── config │ │ │ └── WebConfiguration.java │ │ ├── resources │ │ ├── court-views.properties │ │ ├── logback.xml │ │ ├── messages.properties │ │ └── messages_de.properties │ │ └── webapp │ │ └── WEB-INF │ │ ├── court-servlet.xml │ │ ├── jsp │ │ ├── error.jsp │ │ ├── reservationForm.jsp │ │ ├── reservationNotAvailable.jsp │ │ ├── reservationQuery.jsp │ │ ├── reservationSuccess.jsp │ │ └── welcome.jsp │ │ └── web.xml ├── Recipe_4_9_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── court │ │ │ ├── domain │ │ │ ├── Player.java │ │ │ ├── Reservation.java │ │ │ └── SportType.java │ │ │ ├── service │ │ │ ├── ReservationNotAvailableException.java │ │ │ ├── ReservationService.java │ │ │ ├── ReservationServiceImpl.java │ │ │ └── config │ │ │ │ └── ServiceConfiguration.java │ │ │ └── web │ │ │ ├── CourtApplicationInitializer.java │ │ │ ├── ExceptionHandlingAdvice.java │ │ │ ├── ExtensionInterceptor.java │ │ │ ├── MeasurementInterceptor.java │ │ │ ├── ReservationFormController.java │ │ │ ├── ReservationQueryController.java │ │ │ ├── WelcomeController.java │ │ │ └── config │ │ │ └── WebConfiguration.java │ │ ├── resources │ │ ├── court-views.properties │ │ ├── logback.xml │ │ ├── messages.properties │ │ └── messages_de.properties │ │ └── webapp │ │ └── WEB-INF │ │ ├── court-servlet.xml │ │ ├── jsp │ │ ├── error.jsp │ │ ├── reservationForm.jsp │ │ ├── reservationNotAvailable.jsp │ │ ├── reservationQuery.jsp │ │ ├── reservationSuccess.jsp │ │ └── welcome.jsp │ │ └── web.xml ├── Recipe_4_9_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── court │ │ │ ├── domain │ │ │ ├── Player.java │ │ │ ├── Reservation.java │ │ │ ├── SportType.java │ │ │ └── SportTypeConverter.java │ │ │ ├── service │ │ │ ├── ReservationNotAvailableException.java │ │ │ ├── ReservationService.java │ │ │ ├── ReservationServiceImpl.java │ │ │ └── config │ │ │ │ └── ServiceConfiguration.java │ │ │ └── web │ │ │ ├── CourtApplicationInitializer.java │ │ │ ├── ExceptionHandlingAdvice.java │ │ │ ├── ExtensionInterceptor.java │ │ │ ├── MeasurementInterceptor.java │ │ │ ├── ReservationFormController.java │ │ │ ├── ReservationQueryController.java │ │ │ ├── WelcomeController.java │ │ │ └── config │ │ │ └── WebConfiguration.java │ │ ├── resources │ │ ├── court-views.properties │ │ ├── logback.xml │ │ ├── messages.properties │ │ └── messages_de.properties │ │ └── webapp │ │ └── WEB-INF │ │ ├── court-servlet.xml │ │ ├── jsp │ │ ├── error.jsp │ │ ├── reservationForm.jsp │ │ ├── reservationNotAvailable.jsp │ │ ├── reservationQuery.jsp │ │ ├── reservationSuccess.jsp │ │ └── welcome.jsp │ │ └── web.xml ├── Recipe_4_9_iv │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── court │ │ │ ├── domain │ │ │ ├── Player.java │ │ │ ├── Reservation.java │ │ │ ├── ReservationValidator.java │ │ │ ├── SportType.java │ │ │ └── SportTypeConverter.java │ │ │ ├── service │ │ │ ├── ReservationNotAvailableException.java │ │ │ ├── ReservationService.java │ │ │ ├── ReservationServiceImpl.java │ │ │ └── config │ │ │ │ └── ServiceConfiguration.java │ │ │ └── web │ │ │ ├── CourtApplicationInitializer.java │ │ │ ├── ExceptionHandlingAdvice.java │ │ │ ├── ExtensionInterceptor.java │ │ │ ├── MeasurementInterceptor.java │ │ │ ├── ReservationFormController.java │ │ │ ├── ReservationQueryController.java │ │ │ ├── WelcomeController.java │ │ │ └── config │ │ │ └── WebConfiguration.java │ │ ├── resources │ │ ├── court-views.properties │ │ ├── logback.xml │ │ ├── messages.properties │ │ └── messages_de.properties │ │ └── webapp │ │ └── WEB-INF │ │ ├── court-servlet.xml │ │ ├── jsp │ │ ├── error.jsp │ │ ├── reservationForm.jsp │ │ ├── reservationNotAvailable.jsp │ │ ├── reservationQuery.jsp │ │ ├── reservationSuccess.jsp │ │ └── welcome.jsp │ │ └── web.xml └── build.gradle ├── Ch5 ├── Recipe_5_1_i │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── court │ │ ├── domain │ │ ├── Member.java │ │ └── Members.java │ │ ├── service │ │ ├── InMemoryMemberService.java │ │ └── MemberService.java │ │ └── web │ │ ├── CourtRestApplicationInitializer.java │ │ ├── RestMemberController.java │ │ └── config │ │ └── CourtRestConfiguration.java ├── Recipe_5_1_ii │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── court │ │ ├── domain │ │ ├── Member.java │ │ └── Members.java │ │ ├── service │ │ ├── InMemoryMemberService.java │ │ └── MemberService.java │ │ └── web │ │ ├── CourtRestApplicationInitializer.java │ │ ├── RestMemberController.java │ │ └── config │ │ └── CourtRestConfiguration.java ├── Recipe_5_1_iii │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── court │ │ ├── domain │ │ ├── Member.java │ │ └── Members.java │ │ ├── service │ │ ├── InMemoryMemberService.java │ │ └── MemberService.java │ │ └── web │ │ ├── CourtRestApplicationInitializer.java │ │ ├── RestMemberController.java │ │ └── config │ │ └── CourtRestConfiguration.java ├── Recipe_5_1_iv │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── court │ │ ├── domain │ │ ├── Member.java │ │ └── Members.java │ │ ├── service │ │ ├── InMemoryMemberService.java │ │ └── MemberService.java │ │ └── web │ │ ├── CourtRestApplicationInitializer.java │ │ ├── RestMemberController.java │ │ └── config │ │ └── CourtRestConfiguration.java ├── Recipe_5_1_v │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── court │ │ ├── domain │ │ ├── Member.java │ │ └── Members.java │ │ ├── service │ │ ├── InMemoryMemberService.java │ │ └── MemberService.java │ │ └── web │ │ ├── CourtRestApplicationInitializer.java │ │ ├── RestMemberController.java │ │ └── config │ │ └── CourtRestConfiguration.java ├── Recipe_5_2_i │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── court │ │ ├── domain │ │ ├── Member.java │ │ └── Members.java │ │ ├── service │ │ ├── InMemoryMemberService.java │ │ └── MemberService.java │ │ └── web │ │ ├── CourtRestApplicationInitializer.java │ │ ├── RestMemberController.java │ │ └── config │ │ └── CourtRestConfiguration.java ├── Recipe_5_2_ii │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── court │ │ ├── domain │ │ ├── Member.java │ │ └── Members.java │ │ ├── service │ │ ├── InMemoryMemberService.java │ │ └── MemberService.java │ │ └── web │ │ ├── CourtRestApplicationInitializer.java │ │ ├── RestMemberController.java │ │ └── config │ │ └── CourtRestConfiguration.java ├── Recipe_5_2_iii │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── court │ │ ├── domain │ │ ├── Member.java │ │ └── Members.java │ │ ├── service │ │ ├── InMemoryMemberService.java │ │ └── MemberService.java │ │ └── web │ │ ├── CourtRestApplicationInitializer.java │ │ ├── RestMemberController.java │ │ └── config │ │ └── CourtRestConfiguration.java ├── Recipe_5_3_i │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── court │ │ └── Main.java ├── Recipe_5_3_ii │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── court │ │ └── Main.java ├── Recipe_5_3_iii │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── court │ │ ├── Main.java │ │ └── domain │ │ ├── Member.java │ │ └── Members.java ├── Recipe_5_4_i │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── apress │ │ └── springrecipes │ │ └── court │ │ ├── feeds │ │ ├── AtomFeedView.java │ │ ├── RSSFeedView.java │ │ └── TournamentContent.java │ │ └── web │ │ ├── CourtRestApplicationInitializer.java │ │ ├── FeedController.java │ │ └── config │ │ └── CourtRestConfiguration.java └── build.gradle ├── Ch6 ├── Recipe_6_1_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── social │ │ │ ├── StaticUserIdSource.java │ │ │ └── config │ │ │ └── SocialConfig.java │ │ └── resources │ │ ├── application.properties │ │ └── logback.xml ├── Recipe_6_2_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── social │ │ │ ├── SocialWebApplicationInitializer.java │ │ │ ├── StaticUserIdSource.java │ │ │ ├── config │ │ │ ├── SocialConfig.java │ │ │ └── WebConfig.java │ │ │ └── web │ │ │ └── TwitterController.java │ │ ├── resources │ │ ├── application.properties │ │ └── logback.xml │ │ └── webapp │ │ └── WEB-INF │ │ └── views │ │ ├── index.jsp │ │ └── twitter-info.jsp ├── Recipe_6_2_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── social │ │ │ ├── SocialWebApplicationInitializer.java │ │ │ ├── StaticUserIdSource.java │ │ │ ├── config │ │ │ ├── SocialConfig.java │ │ │ └── WebConfig.java │ │ │ └── web │ │ │ ├── SocialExceptionHandler.java │ │ │ └── TwitterController.java │ │ ├── resources │ │ ├── application.properties │ │ └── logback.xml │ │ └── webapp │ │ └── WEB-INF │ │ └── views │ │ ├── connect │ │ ├── twitterConnect.jsp │ │ └── twitterConnected.jsp │ │ ├── index.jsp │ │ └── twitter-info.jsp ├── Recipe_6_3_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── social │ │ │ ├── SocialWebApplicationInitializer.java │ │ │ ├── StaticUserIdSource.java │ │ │ ├── config │ │ │ ├── SocialConfig.java │ │ │ └── WebConfig.java │ │ │ └── web │ │ │ ├── SocialExceptionHandler.java │ │ │ └── TwitterController.java │ │ ├── resources │ │ ├── application.properties │ │ └── logback.xml │ │ └── webapp │ │ └── WEB-INF │ │ └── views │ │ ├── connect │ │ ├── twitterConnect.jsp │ │ └── twitterConnected.jsp │ │ ├── index.jsp │ │ └── twitter-info.jsp ├── Recipe_6_4_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── social │ │ │ ├── SocialWebApplicationInitializer.java │ │ │ ├── StaticUserIdSource.java │ │ │ ├── config │ │ │ ├── SocialConfig.java │ │ │ └── WebConfig.java │ │ │ └── web │ │ │ ├── SocialExceptionHandler.java │ │ │ └── TwitterController.java │ │ ├── resources │ │ ├── application.properties │ │ └── logback.xml │ │ └── webapp │ │ └── WEB-INF │ │ └── views │ │ ├── connect │ │ ├── status.jsp │ │ ├── twitterConnect.jsp │ │ └── twitterConnected.jsp │ │ ├── index.jsp │ │ └── twitter-info.jsp ├── Recipe_6_4_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── social │ │ │ ├── SocialWebApplicationInitializer.java │ │ │ ├── StaticUserIdSource.java │ │ │ └── config │ │ │ ├── SocialConfig.java │ │ │ └── WebConfig.java │ │ ├── resources │ │ ├── application.properties │ │ └── logback.xml │ │ └── webapp │ │ └── WEB-INF │ │ └── views │ │ ├── connect │ │ ├── facebookConnect.jsp │ │ ├── facebookConnected.jsp │ │ ├── status.jsp │ │ ├── twitterConnect.jsp │ │ └── twitterConnected.jsp │ │ └── index.jsp ├── Recipe_6_5_i │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── social │ │ │ ├── SocialWebApplicationInitializer.java │ │ │ ├── StaticUserIdSource.java │ │ │ ├── config │ │ │ ├── SocialConfig.java │ │ │ └── WebConfig.java │ │ │ └── web │ │ │ └── TwitterController.java │ │ ├── resources │ │ ├── application.properties │ │ └── logback.xml │ │ └── webapp │ │ └── WEB-INF │ │ └── views │ │ ├── connect │ │ ├── facebookConnect.jsp │ │ ├── facebookConnected.jsp │ │ ├── status.jsp │ │ ├── twitterConnect.jsp │ │ └── twitterConnected.jsp │ │ ├── index.jsp │ │ └── twitter.jsp ├── Recipe_6_6_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── social │ │ │ ├── SocialWebApplicationInitializer.java │ │ │ ├── StaticUserIdSource.java │ │ │ └── config │ │ │ ├── SocialConfig.java │ │ │ └── WebConfig.java │ │ ├── resources │ │ ├── application.properties │ │ └── logback.xml │ │ └── webapp │ │ └── WEB-INF │ │ └── views │ │ ├── connect │ │ ├── facebookConnect.jsp │ │ ├── facebookConnected.jsp │ │ ├── status.jsp │ │ ├── twitterConnect.jsp │ │ └── twitterConnected.jsp │ │ └── index.jsp ├── Recipe_6_7_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── social │ │ │ ├── SocialWebApplicationInitializer.java │ │ │ ├── StaticUserIdSource.java │ │ │ └── config │ │ │ ├── SecurityConfig.java │ │ │ ├── SocialConfig.java │ │ │ └── WebConfig.java │ │ ├── resources │ │ ├── application.properties │ │ ├── logback.xml │ │ └── sql │ │ │ ├── create_users.sql │ │ │ └── init_users.sql │ │ └── webapp │ │ └── WEB-INF │ │ └── views │ │ ├── connect │ │ ├── facebookConnect.jsp │ │ ├── facebookConnected.jsp │ │ ├── status.jsp │ │ ├── twitterConnect.jsp │ │ └── twitterConnected.jsp │ │ ├── index.jsp │ │ └── signin.jsp ├── Recipe_6_7_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── social │ │ │ ├── SocialWebApplicationInitializer.java │ │ │ ├── StaticUserIdSource.java │ │ │ ├── config │ │ │ ├── SecurityConfig.java │ │ │ ├── SocialConfig.java │ │ │ └── WebConfig.java │ │ │ ├── security │ │ │ └── SimpleSocialUserDetailsService.java │ │ │ └── web │ │ │ ├── SignupController.java │ │ │ └── SignupForm.java │ │ ├── resources │ │ ├── application.properties │ │ ├── logback.xml │ │ └── sql │ │ │ ├── create_users.sql │ │ │ └── init_users.sql │ │ └── webapp │ │ └── WEB-INF │ │ └── views │ │ ├── connect │ │ ├── facebookConnect.jsp │ │ ├── facebookConnected.jsp │ │ ├── status.jsp │ │ ├── twitterConnect.jsp │ │ └── twitterConnected.jsp │ │ ├── index.jsp │ │ ├── signin.jsp │ │ └── signup.jsp └── build.gradle ├── Ch7 ├── Recipe_7_1_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── board │ │ │ ├── domain │ │ │ └── Message.java │ │ │ ├── service │ │ │ ├── MessageBoardService.java │ │ │ └── MessageBoardServiceImpl.java │ │ │ └── web │ │ │ ├── MessageDeleteController.java │ │ │ ├── MessageListController.java │ │ │ └── MessagePostController.java │ │ └── webapp │ │ └── WEB-INF │ │ ├── board-service.xml │ │ ├── board-servlet.xml │ │ ├── jsp │ │ ├── messageList.jsp │ │ └── messagePost.jsp │ │ └── web.xml ├── Recipe_7_1_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── board │ │ │ ├── domain │ │ │ └── Message.java │ │ │ ├── service │ │ │ ├── MessageBoardService.java │ │ │ └── MessageBoardServiceImpl.java │ │ │ └── web │ │ │ ├── MessageDeleteController.java │ │ │ ├── MessageListController.java │ │ │ └── MessagePostController.java │ │ └── webapp │ │ └── WEB-INF │ │ ├── board-security.xml │ │ ├── board-service.xml │ │ ├── board-servlet.xml │ │ ├── jsp │ │ ├── messageList.jsp │ │ └── messagePost.jsp │ │ └── web.xml ├── Recipe_7_1_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── board │ │ │ ├── config │ │ │ └── MessageBoardConfiguration.java │ │ │ ├── domain │ │ │ └── Message.java │ │ │ ├── service │ │ │ ├── MessageBoardService.java │ │ │ └── MessageBoardServiceImpl.java │ │ │ └── web │ │ │ ├── MessageBoardApplicationInitializer.java │ │ │ ├── MessageBoardSecurityInitializer.java │ │ │ ├── MessageDeleteController.java │ │ │ ├── MessageListController.java │ │ │ ├── MessagePostController.java │ │ │ └── config │ │ │ ├── MessageBoardSecurityConfiguration.java │ │ │ └── MessageBoardWebConfiguration.java │ │ └── webapp │ │ └── WEB-INF │ │ └── jsp │ │ ├── messageList.jsp │ │ └── messagePost.jsp ├── Recipe_7_2_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── board │ │ │ ├── domain │ │ │ └── Message.java │ │ │ ├── service │ │ │ ├── MessageBoardService.java │ │ │ └── MessageBoardServiceImpl.java │ │ │ └── web │ │ │ ├── MessageDeleteController.java │ │ │ ├── MessageListController.java │ │ │ └── MessagePostController.java │ │ └── webapp │ │ └── WEB-INF │ │ ├── board-security.xml │ │ ├── board-service.xml │ │ ├── board-servlet.xml │ │ ├── jsp │ │ ├── messageList.jsp │ │ └── messagePost.jsp │ │ └── web.xml ├── Recipe_7_3_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── board │ │ │ ├── config │ │ │ └── MessageBoardConfiguration.java │ │ │ ├── domain │ │ │ └── Message.java │ │ │ ├── service │ │ │ ├── MessageBoardService.java │ │ │ └── MessageBoardServiceImpl.java │ │ │ └── web │ │ │ ├── MessageBoardApplicationInitializer.java │ │ │ ├── MessageBoardSecurityInitializer.java │ │ │ ├── MessageDeleteController.java │ │ │ ├── MessageListController.java │ │ │ ├── MessagePostController.java │ │ │ └── config │ │ │ ├── MessageBoardSecurityConfiguration.java │ │ │ └── MessageBoardWebConfiguration.java │ │ ├── resources │ │ ├── ldap │ │ │ └── users.ldif │ │ └── sql │ │ │ ├── legacy_data.sql │ │ │ ├── legacy_schema.sql │ │ │ ├── spring_security_data.sql │ │ │ └── spring_security_schema.sql │ │ └── webapp │ │ ├── WEB-INF │ │ └── jsp │ │ │ ├── messageList.jsp │ │ │ └── messagePost.jsp │ │ └── login.jsp ├── Recipe_7_3_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── board │ │ │ ├── config │ │ │ └── MessageBoardConfiguration.java │ │ │ ├── domain │ │ │ └── Message.java │ │ │ ├── service │ │ │ ├── MessageBoardService.java │ │ │ └── MessageBoardServiceImpl.java │ │ │ └── web │ │ │ ├── MessageBoardApplicationInitializer.java │ │ │ ├── MessageBoardSecurityInitializer.java │ │ │ ├── MessageDeleteController.java │ │ │ ├── MessageListController.java │ │ │ ├── MessagePostController.java │ │ │ └── config │ │ │ ├── MessageBoardSecurityConfiguration.java │ │ │ └── MessageBoardWebConfiguration.java │ │ ├── resources │ │ ├── ehcache.xml │ │ ├── ldap │ │ │ └── users.ldif │ │ └── sql │ │ │ ├── legacy_data.sql │ │ │ ├── legacy_schema.sql │ │ │ ├── spring_security_data.sql │ │ │ └── spring_security_schema.sql │ │ └── webapp │ │ ├── WEB-INF │ │ └── jsp │ │ │ ├── messageList.jsp │ │ │ └── messagePost.jsp │ │ └── login.jsp ├── Recipe_7_4_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── board │ │ │ ├── domain │ │ │ └── Message.java │ │ │ ├── service │ │ │ ├── MessageBoardService.java │ │ │ └── MessageBoardServiceImpl.java │ │ │ └── web │ │ │ ├── MessageBoardSecurityInitializer.java │ │ │ ├── MessageDeleteController.java │ │ │ ├── MessageListController.java │ │ │ └── MessagePostController.java │ │ └── webapp │ │ ├── WEB-INF │ │ ├── board-security.xml │ │ ├── board-service.xml │ │ ├── board-servlet.xml │ │ ├── jsp │ │ │ ├── messageList.jsp │ │ │ └── messagePost.jsp │ │ └── web.xml │ │ └── login.jsp ├── Recipe_7_4_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── board │ │ │ ├── domain │ │ │ └── Message.java │ │ │ ├── security │ │ │ └── IpAddressVoter.java │ │ │ ├── service │ │ │ ├── MessageBoardService.java │ │ │ └── MessageBoardServiceImpl.java │ │ │ └── web │ │ │ ├── MessageBoardSecurityInitializer.java │ │ │ ├── MessageDeleteController.java │ │ │ ├── MessageListController.java │ │ │ └── MessagePostController.java │ │ └── webapp │ │ ├── WEB-INF │ │ ├── board-security.xml │ │ ├── board-service.xml │ │ ├── board-servlet.xml │ │ ├── jsp │ │ │ ├── messageList.jsp │ │ │ └── messagePost.jsp │ │ └── web.xml │ │ └── login.jsp ├── Recipe_7_4_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── board │ │ │ ├── domain │ │ │ └── Message.java │ │ │ ├── security │ │ │ └── IpAddressVoter.java │ │ │ ├── service │ │ │ ├── MessageBoardService.java │ │ │ └── MessageBoardServiceImpl.java │ │ │ └── web │ │ │ ├── MessageBoardSecurityInitializer.java │ │ │ ├── MessageDeleteController.java │ │ │ ├── MessageListController.java │ │ │ └── MessagePostController.java │ │ └── webapp │ │ ├── WEB-INF │ │ ├── board-security.xml │ │ ├── board-service.xml │ │ ├── board-servlet.xml │ │ ├── jsp │ │ │ ├── messageList.jsp │ │ │ └── messagePost.jsp │ │ └── web.xml │ │ └── login.jsp ├── Recipe_7_4_iv │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── board │ │ │ ├── config │ │ │ └── MessageBoardConfiguration.java │ │ │ ├── domain │ │ │ └── Message.java │ │ │ ├── security │ │ │ ├── ExtendedWebSecurityExpressionHandler.java │ │ │ └── ExtendedWebSecurityExpressionRoot.java │ │ │ ├── service │ │ │ ├── MessageBoardService.java │ │ │ └── MessageBoardServiceImpl.java │ │ │ └── web │ │ │ ├── MessageBoardApplicationInitializer.java │ │ │ ├── MessageBoardSecurityInitializer.java │ │ │ ├── MessageDeleteController.java │ │ │ ├── MessageListController.java │ │ │ ├── MessagePostController.java │ │ │ └── config │ │ │ ├── MessageBoardSecurityConfiguration.java │ │ │ └── MessageBoardWebConfiguration.java │ │ └── webapp │ │ ├── WEB-INF │ │ └── jsp │ │ │ ├── messageList.jsp │ │ │ └── messagePost.jsp │ │ └── login.jsp ├── Recipe_7_4_v │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── board │ │ │ ├── domain │ │ │ └── Message.java │ │ │ ├── security │ │ │ └── IpAddressVoter.java │ │ │ ├── service │ │ │ ├── MessageBoardService.java │ │ │ └── MessageBoardServiceImpl.java │ │ │ └── web │ │ │ ├── MessageBoardSecurityInitializer.java │ │ │ ├── MessageDeleteController.java │ │ │ ├── MessageListController.java │ │ │ └── MessagePostController.java │ │ └── webapp │ │ ├── WEB-INF │ │ ├── board-security.xml │ │ ├── board-service.xml │ │ ├── board-servlet.xml │ │ ├── jsp │ │ │ ├── messageList.jsp │ │ │ └── messagePost.jsp │ │ └── web.xml │ │ └── login.jsp ├── Recipe_7_6_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── board │ │ │ ├── config │ │ │ └── MessageBoardConfiguration.java │ │ │ ├── domain │ │ │ └── Message.java │ │ │ ├── service │ │ │ ├── MessageBoardService.java │ │ │ └── MessageBoardServiceImpl.java │ │ │ └── web │ │ │ ├── MessageBoardApplicationInitializer.java │ │ │ ├── MessageBoardSecurityInitializer.java │ │ │ ├── MessageDeleteController.java │ │ │ ├── MessageListController.java │ │ │ ├── MessagePostController.java │ │ │ └── config │ │ │ ├── MessageBoardSecurityConfiguration.java │ │ │ └── MessageBoardWebConfiguration.java │ │ └── webapp │ │ ├── WEB-INF │ │ └── jsp │ │ │ ├── messageList.jsp │ │ │ └── messagePost.jsp │ │ └── login.jsp ├── Recipe_7_7_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── board │ │ │ ├── config │ │ │ └── MessageBoardConfiguration.java │ │ │ ├── domain │ │ │ └── Message.java │ │ │ ├── service │ │ │ ├── MessageBoardService.java │ │ │ └── MessageBoardServiceImpl.java │ │ │ └── web │ │ │ ├── MessageBoardApplicationInitializer.java │ │ │ ├── MessageBoardSecurityInitializer.java │ │ │ ├── MessageDeleteController.java │ │ │ ├── MessageListController.java │ │ │ ├── MessagePostController.java │ │ │ └── config │ │ │ ├── MessageBoardSecurityConfiguration.java │ │ │ └── MessageBoardWebConfiguration.java │ │ ├── resources │ │ ├── ehcache.xml │ │ └── sql │ │ │ ├── spring_security_data.sql │ │ │ └── spring_security_schema.sql │ │ └── webapp │ │ ├── WEB-INF │ │ ├── board-acl.xml │ │ ├── board-security.xml │ │ ├── board-service.xml │ │ ├── board-servlet.xml │ │ ├── jsp │ │ │ ├── messageList.jsp │ │ │ └── messagePost.jsp │ │ └── web.xml │ │ └── login.jsp ├── Recipe_7_7_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── board │ │ │ ├── config │ │ │ └── MessageBoardConfiguration.java │ │ │ ├── domain │ │ │ └── Message.java │ │ │ ├── service │ │ │ ├── MessageBoardService.java │ │ │ └── MessageBoardServiceImpl.java │ │ │ └── web │ │ │ ├── MessageBoardApplicationInitializer.java │ │ │ ├── MessageBoardSecurityInitializer.java │ │ │ ├── MessageDeleteController.java │ │ │ ├── MessageListController.java │ │ │ ├── MessagePostController.java │ │ │ └── config │ │ │ ├── MessageBoardAclSecurityConfiguration.java │ │ │ ├── MessageBoardSecurityConfiguration.java │ │ │ └── MessageBoardWebConfiguration.java │ │ ├── resources │ │ ├── ehcache.xml │ │ └── sql │ │ │ ├── spring_security_data.sql │ │ │ └── spring_security_schema.sql │ │ └── webapp │ │ ├── WEB-INF │ │ ├── board-acl.xml │ │ ├── board-security.xml │ │ ├── board-service.xml │ │ ├── board-servlet.xml │ │ ├── jsp │ │ │ ├── messageList.jsp │ │ │ └── messagePost.jsp │ │ └── web.xml │ │ └── login.jsp └── build.gradle ├── Ch8 ├── Recipe_8_1_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── mobile │ │ │ └── web │ │ │ ├── HomeController.java │ │ │ ├── MobileApplicationInitializer.java │ │ │ ├── config │ │ │ └── MobileConfiguration.java │ │ │ └── filter │ │ │ └── DeviceResolverRequestFilter.java │ │ └── webapp │ │ └── WEB-INF │ │ └── views │ │ └── home.jsp ├── Recipe_8_2_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── mobile │ │ │ └── web │ │ │ ├── HomeController.java │ │ │ ├── MobileApplicationInitializer.java │ │ │ └── config │ │ │ └── MobileConfiguration.java │ │ └── webapp │ │ └── WEB-INF │ │ └── views │ │ └── home.jsp ├── Recipe_8_2_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── mobile │ │ │ └── web │ │ │ ├── HomeController.java │ │ │ ├── MobileApplicationInitializer.java │ │ │ └── config │ │ │ └── MobileConfiguration.java │ │ └── webapp │ │ └── WEB-INF │ │ └── views │ │ └── home.jsp ├── Recipe_8_3_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── mobile │ │ │ └── web │ │ │ ├── HomeController.java │ │ │ ├── MobileApplicationInitializer.java │ │ │ └── config │ │ │ └── MobileConfiguration.java │ │ └── webapp │ │ └── WEB-INF │ │ └── views │ │ ├── home.jsp │ │ ├── mobile │ │ └── home.jsp │ │ └── tablet │ │ └── home.jsp ├── Recipe_8_3_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── mobile │ │ │ └── web │ │ │ ├── HomeController.java │ │ │ ├── MobileApplicationInitializer.java │ │ │ └── config │ │ │ └── MobileConfiguration.java │ │ └── webapp │ │ └── WEB-INF │ │ └── views │ │ ├── home.jsp │ │ ├── mobile │ │ └── home.jsp │ │ └── tablet │ │ └── home.jsp ├── Recipe_8_4_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── mobile │ │ │ └── web │ │ │ ├── HomeController.java │ │ │ ├── MobileApplicationInitializer.java │ │ │ └── config │ │ │ └── MobileConfiguration.java │ │ └── webapp │ │ └── WEB-INF │ │ └── views │ │ ├── home.jsp │ │ ├── mobile │ │ └── home.jsp │ │ └── tablet │ │ └── home.jsp ├── Recipe_8_4_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── mobile │ │ │ └── web │ │ │ ├── HomeController.java │ │ │ ├── MobileApplicationInitializer.java │ │ │ └── config │ │ │ └── MobileConfiguration.java │ │ └── webapp │ │ └── WEB-INF │ │ └── views │ │ ├── home.jsp │ │ ├── mobile │ │ └── home.jsp │ │ └── tablet │ │ └── home.jsp ├── Recipe_8_4_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── mobile │ │ │ └── web │ │ │ ├── HomeController.java │ │ │ ├── MobileApplicationInitializer.java │ │ │ └── config │ │ │ └── MobileConfiguration.java │ │ └── webapp │ │ └── WEB-INF │ │ └── views │ │ ├── home.jsp │ │ ├── mobile │ │ └── home.jsp │ │ └── tablet │ │ └── home.jsp ├── Recipe_8_5_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── mobile │ │ │ └── web │ │ │ ├── HomeController.java │ │ │ ├── MobileApplicationInitializer.java │ │ │ └── config │ │ │ └── MobileConfiguration.java │ │ └── webapp │ │ └── WEB-INF │ │ └── views │ │ ├── home.jsp │ │ ├── mobile │ │ └── home.jsp │ │ └── tablet │ │ └── home.jsp └── build.gradle ├── Ch9 ├── Recipe_9_1_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── city │ │ │ ├── CityService.java │ │ │ ├── CityServiceImpl.java │ │ │ ├── config │ │ │ └── DistanceConfiguration.java │ │ │ └── servlet │ │ │ ├── DistanceApplicationInitializer.java │ │ │ └── DistanceServlet.java │ │ ├── resources │ │ ├── META-INF │ │ │ └── services │ │ │ │ └── javax.servlet.ServletContainerInitializer │ │ └── logback.xml │ │ └── webapp │ │ └── WEB-INF │ │ └── jsp │ │ └── distance.jsp ├── Recipe_9_1_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── city │ │ │ ├── CityService.java │ │ │ ├── CityServiceImpl.java │ │ │ ├── config │ │ │ └── DistanceConfiguration.java │ │ │ └── servlet │ │ │ ├── DistanceApplicationInitializer.java │ │ │ └── DistanceServlet.java │ │ ├── resources │ │ └── logback.xml │ │ └── webapp │ │ └── WEB-INF │ │ └── jsp │ │ └── distance.jsp ├── Recipe_9_1_iii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── city │ │ │ ├── CityService.java │ │ │ ├── CityServiceImpl.java │ │ │ ├── DistanceServletContainerInitializer.java │ │ │ ├── config │ │ │ └── DistanceConfiguration.java │ │ │ └── servlet │ │ │ └── DistanceHttpRequestHandler.java │ │ ├── resources │ │ └── logback.xml │ │ └── webapp │ │ └── WEB-INF │ │ └── jsp │ │ └── distance.jsp ├── Recipe_9_2_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── city │ │ │ ├── CityService.java │ │ │ ├── CityServiceImpl.java │ │ │ ├── config │ │ │ └── DistanceConfiguration.java │ │ │ └── servlet │ │ │ ├── DistanceApplicationInitializer.java │ │ │ └── DistanceHttpRequestHandler.java │ │ ├── resources │ │ └── logback.xml │ │ └── webapp │ │ └── WEB-INF │ │ └── jsp │ │ └── distance.jsp ├── Recipe_9_2_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── city │ │ │ ├── CityService.java │ │ │ ├── CityServiceImpl.java │ │ │ ├── CityServiceRequestAuditor.java │ │ │ ├── config │ │ │ └── DistanceConfiguration.java │ │ │ ├── filter │ │ │ └── CityServiceRequestFilter.java │ │ │ └── servlet │ │ │ ├── DistanceApplicationInitializer.java │ │ │ └── DistanceHttpRequestHandler.java │ │ ├── resources │ │ └── logback.xml │ │ └── webapp │ │ └── WEB-INF │ │ └── jsp │ │ └── distance.jsp ├── Recipe_9_3_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── city │ │ │ ├── CityService.java │ │ │ ├── CityServiceImpl.java │ │ │ ├── config │ │ │ └── DistanceConfiguration.java │ │ │ ├── jsf │ │ │ └── DistanceBean.java │ │ │ └── servlet │ │ │ └── DistanceApplicationInitializer.java │ │ ├── resources │ │ └── logback.xml │ │ └── webapp │ │ ├── WEB-INF │ │ └── faces-config.xml │ │ └── distance.xhtml ├── Recipe_9_3_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── city │ │ │ ├── CityService.java │ │ │ ├── CityServiceImpl.java │ │ │ ├── config │ │ │ └── DistanceConfiguration.java │ │ │ ├── jsf │ │ │ └── DistanceBean.java │ │ │ └── servlet │ │ │ └── DistanceApplicationInitializer.java │ │ ├── resources │ │ └── logback.xml │ │ └── webapp │ │ ├── WEB-INF │ │ └── faces-config.xml │ │ └── distance.xhtml ├── Recipe_9_4_i │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── city │ │ │ ├── CityService.java │ │ │ ├── CityServiceImpl.java │ │ │ ├── config │ │ │ └── DistanceConfiguration.java │ │ │ └── servlet │ │ │ └── DistanceApplicationInitializer.java │ │ ├── resources │ │ └── logback.xml │ │ └── webapp │ │ ├── WEB-INF │ │ └── dwr.xml │ │ └── distance.html ├── Recipe_9_4_ii │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── springrecipes │ │ │ └── city │ │ │ ├── CityService.java │ │ │ ├── CityServiceImpl.java │ │ │ ├── config │ │ │ └── DistanceConfiguration.java │ │ │ └── servlet │ │ │ └── DistanceApplicationInitializer.java │ │ ├── resources │ │ ├── dwr-context.xml │ │ └── logback.xml │ │ └── webapp │ │ ├── WEB-INF │ │ └── dwr.xml │ │ ├── distance.html │ │ └── index.jsp ├── build.gradle └── libs │ ├── dwr-3.0.0.RC2-src.jar │ └── dwr-3.0.0.RC2.jar ├── README.md ├── build.gradle ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle /9781430259084.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/9781430259084.jpg -------------------------------------------------------------------------------- /9781430259084_AppA.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/9781430259084_AppA.pdf -------------------------------------------------------------------------------- /9781430259084_AppB.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/9781430259084_AppB.pdf -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/README.md -------------------------------------------------------------------------------- /contributing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/contributing.md -------------------------------------------------------------------------------- /springrecipes-master/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/.gitignore -------------------------------------------------------------------------------- /springrecipes-master/Appendix_A/Recipe_A_3_ii/src/main/resources/sql/schema.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Appendix_A/Recipe_A_3_ii/src/main/resources/sql/schema.sql -------------------------------------------------------------------------------- /springrecipes-master/Appendix_A/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Appendix_A/build.gradle -------------------------------------------------------------------------------- /springrecipes-master/Appendix_B/Recipe_B_1_ii/src/main/resources/ehcache.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Appendix_B/Recipe_B_1_ii/src/main/resources/ehcache.xml -------------------------------------------------------------------------------- /springrecipes-master/Appendix_B/Recipe_B_1_ii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Appendix_B/Recipe_B_1_ii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Appendix_B/Recipe_B_1_iii/src/main/resources/ehcache.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Appendix_B/Recipe_B_1_iii/src/main/resources/ehcache.xml -------------------------------------------------------------------------------- /springrecipes-master/Appendix_B/Recipe_B_1_iii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Appendix_B/Recipe_B_1_iii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Appendix_B/Recipe_B_1_iv/src/main/resources/ehcache.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Appendix_B/Recipe_B_1_iv/src/main/resources/ehcache.xml -------------------------------------------------------------------------------- /springrecipes-master/Appendix_B/Recipe_B_1_iv/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Appendix_B/Recipe_B_1_iv/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Appendix_B/Recipe_B_2_i/src/main/resources/ehcache.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Appendix_B/Recipe_B_2_i/src/main/resources/ehcache.xml -------------------------------------------------------------------------------- /springrecipes-master/Appendix_B/Recipe_B_2_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Appendix_B/Recipe_B_2_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Appendix_B/Recipe_B_2_ii/src/main/resources/ehcache.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Appendix_B/Recipe_B_2_ii/src/main/resources/ehcache.xml -------------------------------------------------------------------------------- /springrecipes-master/Appendix_B/Recipe_B_2_ii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Appendix_B/Recipe_B_2_ii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Appendix_B/Recipe_B_3_i/src/main/resources/ehcache.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Appendix_B/Recipe_B_3_i/src/main/resources/ehcache.xml -------------------------------------------------------------------------------- /springrecipes-master/Appendix_B/Recipe_B_3_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Appendix_B/Recipe_B_3_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Appendix_B/Recipe_B_3_ii/src/main/resources/ehcache.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Appendix_B/Recipe_B_3_ii/src/main/resources/ehcache.xml -------------------------------------------------------------------------------- /springrecipes-master/Appendix_B/Recipe_B_3_ii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Appendix_B/Recipe_B_3_ii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Appendix_B/Recipe_B_4_i/src/main/resources/ehcache.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Appendix_B/Recipe_B_4_i/src/main/resources/ehcache.xml -------------------------------------------------------------------------------- /springrecipes-master/Appendix_B/Recipe_B_4_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Appendix_B/Recipe_B_4_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Appendix_B/Recipe_B_5_i/src/main/resources/ehcache.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Appendix_B/Recipe_B_5_i/src/main/resources/ehcache.xml -------------------------------------------------------------------------------- /springrecipes-master/Appendix_B/Recipe_B_5_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Appendix_B/Recipe_B_5_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Appendix_B/Recipe_B_5_ii/src/main/resources/ehcache.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Appendix_B/Recipe_B_5_ii/src/main/resources/ehcache.xml -------------------------------------------------------------------------------- /springrecipes-master/Appendix_B/Recipe_B_5_ii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Appendix_B/Recipe_B_5_ii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Appendix_B/Recipe_B_5_iii/src/main/resources/ehcache.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Appendix_B/Recipe_B_5_iii/src/main/resources/ehcache.xml -------------------------------------------------------------------------------- /springrecipes-master/Appendix_B/Recipe_B_5_iii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Appendix_B/Recipe_B_5_iii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Appendix_B/Recipe_B_5_iv/src/main/resources/ehcache.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Appendix_B/Recipe_B_5_iv/src/main/resources/ehcache.xml -------------------------------------------------------------------------------- /springrecipes-master/Appendix_B/Recipe_B_5_iv/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Appendix_B/Recipe_B_5_iv/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Appendix_B/Recipe_B_5_v/src/main/resources/ehcache.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Appendix_B/Recipe_B_5_v/src/main/resources/ehcache.xml -------------------------------------------------------------------------------- /springrecipes-master/Appendix_B/Recipe_B_5_v/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Appendix_B/Recipe_B_5_v/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Appendix_B/Recipe_B_6_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Appendix_B/Recipe_B_6_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Appendix_B/Recipe_B_6_ii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Appendix_B/Recipe_B_6_ii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Appendix_B/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Appendix_B/build.gradle -------------------------------------------------------------------------------- /springrecipes-master/Ch1/Recipe_1_6/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch1/Recipe_1_6/build.gradle -------------------------------------------------------------------------------- /springrecipes-master/Ch1/Recipe_1_6/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch1/Recipe_1_6/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /springrecipes-master/Ch1/Recipe_1_6/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch1/Recipe_1_6/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch1/Recipe_1_6/gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch1/Recipe_1_6/gradlew -------------------------------------------------------------------------------- /springrecipes-master/Ch1/Recipe_1_6/gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch1/Recipe_1_6/gradlew.bat -------------------------------------------------------------------------------- /springrecipes-master/Ch1/Recipe_1_6/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch1/Recipe_1_6/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch1/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch1/build.gradle -------------------------------------------------------------------------------- /springrecipes-master/Ch1/springintro/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch1/springintro/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch1/springintro_mvn/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch1/springintro_mvn/pom.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch1/springintro_mvn/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch1/springintro_mvn/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch10/Recipe_10_0_i/src/main/resources/sql/vehicle.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch10/Recipe_10_0_i/src/main/resources/sql/vehicle.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch10/Recipe_10_0_i/src/main/resources/vehicle-context.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch10/Recipe_10_0_i/src/main/resources/vehicle-context.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch10/Recipe_10_0_ii/src/main/resources/sql/vehicle.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch10/Recipe_10_0_ii/src/main/resources/sql/vehicle.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch10/Recipe_10_0_ii/src/main/resources/vehicle-context.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch10/Recipe_10_0_ii/src/main/resources/vehicle-context.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch10/Recipe_10_0_iii/src/main/resources/sql/vehicle.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch10/Recipe_10_0_iii/src/main/resources/sql/vehicle.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch10/Recipe_10_0_iv/src/main/resources/sql/vehicle.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch10/Recipe_10_0_iv/src/main/resources/sql/vehicle.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch10/Recipe_10_0_iv/src/main/resources/vehicle-context.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch10/Recipe_10_0_iv/src/main/resources/vehicle-context.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch10/Recipe_10_10_i/src/main/resources/course-context.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch10/Recipe_10_10_i/src/main/resources/course-context.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch10/Recipe_10_10_ii/src/main/resources/course-context.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch10/Recipe_10_10_ii/src/main/resources/course-context.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch10/Recipe_10_11/src/main/resources/course-context.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch10/Recipe_10_11/src/main/resources/course-context.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch10/Recipe_10_1_i/src/main/resources/sql/vehicle.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch10/Recipe_10_1_i/src/main/resources/sql/vehicle.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch10/Recipe_10_1_i/src/main/resources/vehicle-context.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch10/Recipe_10_1_i/src/main/resources/vehicle-context.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch10/Recipe_10_1_ii/src/main/resources/sql/vehicle.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch10/Recipe_10_1_ii/src/main/resources/sql/vehicle.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch10/Recipe_10_1_ii/src/main/resources/vehicle-context.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch10/Recipe_10_1_ii/src/main/resources/vehicle-context.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch10/Recipe_10_1_iii/src/main/resources/sql/vehicle.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch10/Recipe_10_1_iii/src/main/resources/sql/vehicle.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch10/Recipe_10_1_iv/src/main/resources/sql/vehicle.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch10/Recipe_10_1_iv/src/main/resources/sql/vehicle.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch10/Recipe_10_1_iv/src/main/resources/vehicle-context.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch10/Recipe_10_1_iv/src/main/resources/vehicle-context.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch10/Recipe_10_1_v/src/main/resources/sql/vehicle.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch10/Recipe_10_1_v/src/main/resources/sql/vehicle.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch10/Recipe_10_1_v/src/main/resources/vehicle-context.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch10/Recipe_10_1_v/src/main/resources/vehicle-context.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch10/Recipe_10_2_i/src/main/resources/sql/vehicle.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch10/Recipe_10_2_i/src/main/resources/sql/vehicle.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch10/Recipe_10_2_i/src/main/resources/vehicle-context.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch10/Recipe_10_2_i/src/main/resources/vehicle-context.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch10/Recipe_10_2_ii/src/main/resources/sql/vehicle.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch10/Recipe_10_2_ii/src/main/resources/sql/vehicle.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch10/Recipe_10_2_ii/src/main/resources/vehicle-context.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch10/Recipe_10_2_ii/src/main/resources/vehicle-context.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch10/Recipe_10_2_iii/src/main/resources/sql/vehicle.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch10/Recipe_10_2_iii/src/main/resources/sql/vehicle.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch10/Recipe_10_2_iv/src/main/resources/sql/vehicle.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch10/Recipe_10_2_iv/src/main/resources/sql/vehicle.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch10/Recipe_10_2_iv/src/main/resources/vehicle-context.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch10/Recipe_10_2_iv/src/main/resources/vehicle-context.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch10/Recipe_10_2_v/src/main/resources/sql/vehicle.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch10/Recipe_10_2_v/src/main/resources/sql/vehicle.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch10/Recipe_10_2_vi/src/main/resources/sql/vehicle.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch10/Recipe_10_2_vi/src/main/resources/sql/vehicle.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch10/Recipe_10_3_i/src/main/resources/sql/vehicle.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch10/Recipe_10_3_i/src/main/resources/sql/vehicle.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch10/Recipe_10_3_ii/src/main/resources/sql/vehicle.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch10/Recipe_10_3_ii/src/main/resources/sql/vehicle.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch10/Recipe_10_4_i/src/main/resources/sql/vehicle.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch10/Recipe_10_4_i/src/main/resources/sql/vehicle.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch10/Recipe_10_4_ii/src/main/resources/sql/vehicle.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch10/Recipe_10_4_ii/src/main/resources/sql/vehicle.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch10/Recipe_10_4_iii/src/main/resources/sql/vehicle.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch10/Recipe_10_4_iii/src/main/resources/sql/vehicle.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch10/Recipe_10_4_iv/src/main/resources/sql/vehicle.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch10/Recipe_10_4_iv/src/main/resources/sql/vehicle.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch10/Recipe_10_5_i/src/main/resources/sql/vehicle.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch10/Recipe_10_5_i/src/main/resources/sql/vehicle.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch10/Recipe_10_5_ii/src/main/resources/sql/vehicle.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch10/Recipe_10_5_ii/src/main/resources/sql/vehicle.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch10/Recipe_10_5_iii/src/main/resources/sql/vehicle.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch10/Recipe_10_5_iii/src/main/resources/sql/vehicle.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch10/Recipe_10_6_i/src/main/resources/hibernate.cfg.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch10/Recipe_10_6_i/src/main/resources/hibernate.cfg.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch10/Recipe_10_7_i/src/main/resources/hibernate.cfg.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch10/Recipe_10_7_i/src/main/resources/hibernate.cfg.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch10/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch10/build.gradle -------------------------------------------------------------------------------- /springrecipes-master/Ch11/Recipe_11_10_i/src/main/resources/bookstore.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch11/Recipe_11_10_i/src/main/resources/bookstore.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch11/Recipe_11_11_i/src/main/resources/bookstore.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch11/Recipe_11_11_i/src/main/resources/bookstore.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch11/Recipe_11_1_i/src/main/resources/bookstore.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch11/Recipe_11_1_i/src/main/resources/bookstore.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch11/Recipe_11_1_ii/src/main/resources/bookstore.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch11/Recipe_11_1_ii/src/main/resources/bookstore.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch11/Recipe_11_3_i/src/main/resources/bookstore.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch11/Recipe_11_3_i/src/main/resources/bookstore.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch11/Recipe_11_4_i/src/main/resources/bookstore.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch11/Recipe_11_4_i/src/main/resources/bookstore.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch11/Recipe_11_4_ii/src/main/resources/bookstore.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch11/Recipe_11_4_ii/src/main/resources/bookstore.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch11/Recipe_11_5_i/src/main/resources/bookstore.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch11/Recipe_11_5_i/src/main/resources/bookstore.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch11/Recipe_11_6_i/src/main/resources/bookstore.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch11/Recipe_11_6_i/src/main/resources/bookstore.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch11/Recipe_11_6_ii/src/main/resources/bookstore.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch11/Recipe_11_6_ii/src/main/resources/bookstore.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch11/Recipe_11_6_iii/src/main/resources/bookstore.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch11/Recipe_11_6_iii/src/main/resources/bookstore.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch11/Recipe_11_7_i/src/main/resources/bookstore.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch11/Recipe_11_7_i/src/main/resources/bookstore.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch11/Recipe_11_7_ii/src/main/resources/bookstore.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch11/Recipe_11_7_ii/src/main/resources/bookstore.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch11/Recipe_11_7_iii/src/main/resources/bookstore.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch11/Recipe_11_7_iii/src/main/resources/bookstore.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch11/Recipe_11_8_i/src/main/resources/aspectj-beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch11/Recipe_11_8_i/src/main/resources/aspectj-beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch11/Recipe_11_8_i/src/main/resources/bookstore.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch11/Recipe_11_8_i/src/main/resources/bookstore.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch11/Recipe_11_8_i/src/main/resources/classic-beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch11/Recipe_11_8_i/src/main/resources/classic-beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch11/Recipe_11_8_i/src/main/resources/spring-beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch11/Recipe_11_8_i/src/main/resources/spring-beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch11/Recipe_11_8_ii/src/main/resources/bookstore.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch11/Recipe_11_8_ii/src/main/resources/bookstore.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch11/Recipe_11_8_ii/src/main/resources/spring-beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch11/Recipe_11_8_ii/src/main/resources/spring-beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch11/Recipe_11_8_iii/src/main/resources/bookstore.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch11/Recipe_11_8_iii/src/main/resources/bookstore.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch11/Recipe_11_8_iv/src/main/resources/bookstore.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch11/Recipe_11_8_iv/src/main/resources/bookstore.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch11/Recipe_11_8_iv/src/main/resources/spring-beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch11/Recipe_11_8_iv/src/main/resources/spring-beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch11/Recipe_11_8_v/src/main/resources/aspectj-beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch11/Recipe_11_8_v/src/main/resources/aspectj-beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch11/Recipe_11_8_v/src/main/resources/bookstore.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch11/Recipe_11_8_v/src/main/resources/bookstore.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch11/Recipe_11_8_v/src/main/resources/classic-beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch11/Recipe_11_8_v/src/main/resources/classic-beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch11/Recipe_11_8_v/src/main/resources/spring-beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch11/Recipe_11_8_v/src/main/resources/spring-beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch11/Recipe_11_9_i/src/main/resources/aspectj-beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch11/Recipe_11_9_i/src/main/resources/aspectj-beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch11/Recipe_11_9_i/src/main/resources/bookstore.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch11/Recipe_11_9_i/src/main/resources/bookstore.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch11/Recipe_11_9_i/src/main/resources/classic-beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch11/Recipe_11_9_i/src/main/resources/classic-beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch11/Recipe_11_9_i/src/main/resources/spring-beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch11/Recipe_11_9_i/src/main/resources/spring-beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch11/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch11/build.gradle -------------------------------------------------------------------------------- /springrecipes-master/Ch11/readme.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch11/readme.txt -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_1_i/src/main/resources/batch.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_1_i/src/main/resources/batch.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_1_i/src/main/resources/batch.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_1_i/src/main/resources/batch.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_1_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_1_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_1_i/src/main/resources/sql/drop_all.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_1_i/src/main/resources/sql/drop_all.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_1_ii/src/main/resources/batch.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_1_ii/src/main/resources/batch.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_1_ii/src/main/resources/batch.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_1_ii/src/main/resources/batch.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_1_ii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_1_ii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_1_ii/src/main/resources/sql/drop_all.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_1_ii/src/main/resources/sql/drop_all.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_1_iii/src/main/resources/batch.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_1_iii/src/main/resources/batch.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_1_iii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_1_iii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_1_iv/src/main/resources/batch.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_1_iv/src/main/resources/batch.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_1_iv/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_1_iv/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_1_iv/src/main/resources/sql/drop_all.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_1_iv/src/main/resources/sql/drop_all.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_2_i/src/main/resources/batch.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_2_i/src/main/resources/batch.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_2_i/src/main/resources/batch.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_2_i/src/main/resources/batch.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_2_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_2_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_2_i/src/main/resources/sql/drop_all.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_2_i/src/main/resources/sql/drop_all.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_2_i/src/main/resources/user-job.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_2_i/src/main/resources/user-job.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_2_ii/src/main/resources/batch.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_2_ii/src/main/resources/batch.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_2_ii/src/main/resources/batch.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_2_ii/src/main/resources/batch.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_2_ii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_2_ii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_2_ii/src/main/resources/sql/drop_all.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_2_ii/src/main/resources/sql/drop_all.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_2_ii/src/main/resources/user-job.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_2_ii/src/main/resources/user-job.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_3/src/main/resources/batch.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_3/src/main/resources/batch.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_3/src/main/resources/batch.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_3/src/main/resources/batch.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_3/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_3/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_3/src/main/resources/sql/drop_all.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_3/src/main/resources/sql/drop_all.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_3/src/main/resources/user-job.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_3/src/main/resources/user-job.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_4_i/src/main/resources/batch.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_4_i/src/main/resources/batch.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_4_i/src/main/resources/batch.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_4_i/src/main/resources/batch.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_4_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_4_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_4_i/src/main/resources/sql/drop_all.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_4_i/src/main/resources/sql/drop_all.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_4_i/src/main/resources/user-job.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_4_i/src/main/resources/user-job.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_4_ii/src/main/resources/batch.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_4_ii/src/main/resources/batch.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_4_ii/src/main/resources/batch.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_4_ii/src/main/resources/batch.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_4_ii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_4_ii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_4_ii/src/main/resources/sql/drop_all.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_4_ii/src/main/resources/sql/drop_all.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_4_ii/src/main/resources/user-job.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_4_ii/src/main/resources/user-job.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_5_i/src/main/resources/batch.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_5_i/src/main/resources/batch.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_5_i/src/main/resources/batch.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_5_i/src/main/resources/batch.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_5_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_5_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_5_i/src/main/resources/sql/drop_all.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_5_i/src/main/resources/sql/drop_all.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_5_i/src/main/resources/user-job.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_5_i/src/main/resources/user-job.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_5_ii/src/main/resources/batch.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_5_ii/src/main/resources/batch.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_5_ii/src/main/resources/batch.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_5_ii/src/main/resources/batch.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_5_ii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_5_ii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_5_ii/src/main/resources/sql/drop_all.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_5_ii/src/main/resources/sql/drop_all.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_5_ii/src/main/resources/user-job.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_5_ii/src/main/resources/user-job.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_6_i/src/main/resources/batch.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_6_i/src/main/resources/batch.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_6_i/src/main/resources/batch.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_6_i/src/main/resources/batch.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_6_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_6_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_6_i/src/main/resources/sql/drop_all.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_6_i/src/main/resources/sql/drop_all.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_6_i/src/main/resources/user-job.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_6_i/src/main/resources/user-job.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_6_ii/src/main/resources/batch.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_6_ii/src/main/resources/batch.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_6_ii/src/main/resources/batch.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_6_ii/src/main/resources/batch.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_6_ii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_6_ii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_6_ii/src/main/resources/sql/drop_all.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_6_ii/src/main/resources/sql/drop_all.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_6_ii/src/main/resources/user-job.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_6_ii/src/main/resources/user-job.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_6_iii/src/main/resources/batch.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_6_iii/src/main/resources/batch.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_6_iii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_6_iii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_6_iii/src/main/resources/user-job.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_6_iii/src/main/resources/user-job.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_7_i/src/main/resources/batch.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_7_i/src/main/resources/batch.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_7_i/src/main/resources/batch.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_7_i/src/main/resources/batch.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_7_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_7_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_7_i/src/main/resources/sql/drop_all.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_7_i/src/main/resources/sql/drop_all.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_7_i/src/main/resources/user-job.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_7_i/src/main/resources/user-job.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_7_ii/src/main/resources/batch.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_7_ii/src/main/resources/batch.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_7_ii/src/main/resources/batch.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_7_ii/src/main/resources/batch.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_7_ii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_7_ii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_7_ii/src/main/resources/sql/drop_all.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_7_ii/src/main/resources/sql/drop_all.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_7_ii/src/main/resources/user-job.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_7_ii/src/main/resources/user-job.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_8_i/src/main/resources/batch.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_8_i/src/main/resources/batch.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_8_i/src/main/resources/batch.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_8_i/src/main/resources/batch.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_8_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_8_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_8_i/src/main/resources/sql/drop_all.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_8_i/src/main/resources/sql/drop_all.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_8_i/src/main/resources/user-job.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_8_i/src/main/resources/user-job.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_8_iI/src/main/resources/batch.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_8_iI/src/main/resources/batch.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_8_iI/src/main/resources/batch.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_8_iI/src/main/resources/batch.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_8_iI/src/main/resources/bookstore.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_8_iI/src/main/resources/bookstore.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_8_iI/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_8_iI/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_8_iI/src/main/resources/spring-beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_8_iI/src/main/resources/spring-beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_8_iI/src/main/resources/sql/drop_all.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_8_iI/src/main/resources/sql/drop_all.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_8_iI/src/main/resources/user-job.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_8_iI/src/main/resources/user-job.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_8_iii/src/main/resources/batch.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_8_iii/src/main/resources/batch.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_8_iii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_8_iii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_8_iii/src/main/resources/user-job.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_8_iii/src/main/resources/user-job.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_8_iv/src/main/resources/batch.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_8_iv/src/main/resources/batch.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_8_iv/src/main/resources/batch.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_8_iv/src/main/resources/batch.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_8_iv/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_8_iv/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_8_iv/src/main/resources/sql/drop_all.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_8_iv/src/main/resources/sql/drop_all.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_8_iv/src/main/resources/user-job.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_8_iv/src/main/resources/user-job.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_9/src/main/resources/batch.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_9/src/main/resources/batch.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_9/src/main/resources/batch.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_9/src/main/resources/batch.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_9/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_9/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_9/src/main/resources/sql/drop_all.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_9/src/main/resources/sql/drop_all.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch12/Recipe_12_9/src/main/resources/user-job.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/Recipe_12_9/src/main/resources/user-job.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch12/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch12/build.gradle -------------------------------------------------------------------------------- /springrecipes-master/Ch13/Recipe_13_1_ii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch13/Recipe_13_1_ii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch13/Recipe_13_1_iii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch13/Recipe_13_1_iii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch13/Recipe_13_1_iv/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch13/Recipe_13_1_iv/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch13/Recipe_13_1_v/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch13/Recipe_13_1_v/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch13/Recipe_13_2_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch13/Recipe_13_2_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch13/Recipe_13_2_ii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch13/Recipe_13_2_ii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch13/Recipe_13_2_iii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch13/Recipe_13_2_iii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch13/Recipe_13_2_iv/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch13/Recipe_13_2_iv/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch13/Recipe_13_2_v/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch13/Recipe_13_2_v/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch13/Recipe_13_2_vi/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch13/Recipe_13_2_vi/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch13/Recipe_13_3_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch13/Recipe_13_3_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch13/Recipe_13_3_ii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch13/Recipe_13_3_ii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch13/Recipe_13_4_iv/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch13/Recipe_13_4_iv/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch13/Recipe_13_4_v/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch13/Recipe_13_4_v/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch13/Recipe_13_4_vi/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch13/Recipe_13_4_vi/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch13/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch13/build.gradle -------------------------------------------------------------------------------- /springrecipes-master/Ch14/Recipe_14_10/README.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch14/Recipe_14_10/README.txt -------------------------------------------------------------------------------- /springrecipes-master/Ch14/Recipe_14_10/request.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch14/Recipe_14_10/request.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch14/Recipe_14_10/response.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch14/Recipe_14_10/response.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch14/Recipe_14_10/temperature.xsd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch14/Recipe_14_10/temperature.xsd -------------------------------------------------------------------------------- /springrecipes-master/Ch14/Recipe_14_1_i/src/main/resources/beans-jmx.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch14/Recipe_14_1_i/src/main/resources/beans-jmx.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch14/Recipe_14_1_ii/src/main/resources/beans-jmx.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch14/Recipe_14_1_ii/src/main/resources/beans-jmx.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch14/Recipe_14_1_iii/src/main/resources/beans-jmx.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch14/Recipe_14_1_iii/src/main/resources/beans-jmx.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch14/Recipe_14_1_iv/src/main/resources/beans-jmx.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch14/Recipe_14_1_iv/src/main/resources/beans-jmx.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch14/Recipe_14_1_v/src/main/resources/beans-jmx.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch14/Recipe_14_1_v/src/main/resources/beans-jmx.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch14/Recipe_14_1_vi/src/main/resources/beans-jmx.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch14/Recipe_14_1_vi/src/main/resources/beans-jmx.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch14/Recipe_14_1_vii/src/main/resources/beans-jmx.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch14/Recipe_14_1_vii/src/main/resources/beans-jmx.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch14/Recipe_14_1_viii/src/main/resources/beans-jmx.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch14/Recipe_14_1_viii/src/main/resources/beans-jmx.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch14/Recipe_14_2_i/src/main/resources/beans-jmx.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch14/Recipe_14_2_i/src/main/resources/beans-jmx.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch14/Recipe_14_2_ii/src/main/resources/beans-jmx.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch14/Recipe_14_2_ii/src/main/resources/beans-jmx.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch14/Recipe_14_2_iii/src/main/resources/beans-jmx.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch14/Recipe_14_2_iii/src/main/resources/beans-jmx.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch14/Recipe_14_4_i/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch14/Recipe_14_4_i/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch14/Recipe_14_4_ii/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch14/Recipe_14_4_ii/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch14/Recipe_14_4_iii/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch14/Recipe_14_4_iii/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch14/Recipe_14_4_iv/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch14/Recipe_14_4_iv/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch14/Recipe_14_4_v/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch14/Recipe_14_4_v/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch14/Recipe_14_5_i/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch14/Recipe_14_5_i/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch14/Recipe_14_5_ii/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch14/Recipe_14_5_ii/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch14/Recipe_14_5_iii/src/main/java/com/apress/springrecipes/replicator/QuartzJobBean.java: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /springrecipes-master/Ch14/Recipe_14_5_iii/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch14/Recipe_14_5_iii/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch14/Recipe_14_5_iv/src/main/java/com/apress/springrecipes/replicator/QuartzJobBean.java: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /springrecipes-master/Ch14/Recipe_14_5_iv/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch14/Recipe_14_5_iv/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch14/Recipe_14_6_i/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch14/Recipe_14_6_i/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch14/Recipe_14_6_ii/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch14/Recipe_14_6_ii/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch14/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch14/build.gradle -------------------------------------------------------------------------------- /springrecipes-master/Ch15/Recipe_15_2_i/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch15/Recipe_15_2_i/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /springrecipes-master/Ch15/Recipe_15_2_i/gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch15/Recipe_15_2_i/gradlew -------------------------------------------------------------------------------- /springrecipes-master/Ch15/Recipe_15_6_ii/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch15/Recipe_15_6_ii/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /springrecipes-master/Ch15/Recipe_15_6_ii/gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch15/Recipe_15_6_ii/gradlew -------------------------------------------------------------------------------- /springrecipes-master/Ch15/Recipe_15_6_ii/gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch15/Recipe_15_6_ii/gradlew.bat -------------------------------------------------------------------------------- /springrecipes-master/Ch15/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch15/build.gradle -------------------------------------------------------------------------------- /springrecipes-master/Ch16/Recipe_16_10_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch16/Recipe_16_10_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch16/Recipe_16_10_ii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch16/Recipe_16_10_ii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch16/Recipe_16_2_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch16/Recipe_16_2_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch16/Recipe_16_2_ii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch16/Recipe_16_2_ii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch16/Recipe_16_3_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch16/Recipe_16_3_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch16/Recipe_16_3_ii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch16/Recipe_16_3_ii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch16/Recipe_16_3_iii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch16/Recipe_16_3_iii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch16/Recipe_16_4_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch16/Recipe_16_4_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch16/Recipe_16_5_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch16/Recipe_16_5_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch16/Recipe_16_5_ii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch16/Recipe_16_5_ii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch16/Recipe_16_6_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch16/Recipe_16_6_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch16/Recipe_16_6_ii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch16/Recipe_16_6_ii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch16/Recipe_16_6_iii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch16/Recipe_16_6_iii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch16/Recipe_16_7_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch16/Recipe_16_7_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch16/Recipe_16_7_ii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch16/Recipe_16_7_ii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch16/Recipe_16_9/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch16/Recipe_16_9/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch16/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch16/build.gradle -------------------------------------------------------------------------------- /springrecipes-master/Ch17/Recipe_17_6_i/src/main/resources/bank.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch17/Recipe_17_6_i/src/main/resources/bank.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch17/Recipe_17_6_ii/src/main/resources/bank.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch17/Recipe_17_6_ii/src/main/resources/bank.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch17/Recipe_17_6_iii/src/main/resources/bank.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch17/Recipe_17_6_iii/src/main/resources/bank.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch17/Recipe_17_7_i/src/main/resources/bank.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch17/Recipe_17_7_i/src/main/resources/bank.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch17/Recipe_17_7_ii/src/main/resources/bank.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch17/Recipe_17_7_ii/src/main/resources/bank.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch17/Recipe_17_8_i/src/main/resources/bank.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch17/Recipe_17_8_i/src/main/resources/bank.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch17/Recipe_17_8_ii/src/main/resources/bank.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch17/Recipe_17_8_ii/src/main/resources/bank.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch17/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch17/build.gradle -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_10_i/court/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_10_i/court/application.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_10_i/court/grails-app/conf/Config.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_10_i/court/grails-app/conf/Config.groovy -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_10_i/court/grails-app/conf/spring/resources.groovy: -------------------------------------------------------------------------------- 1 | // Place your Spring DSL code here 2 | beans = { 3 | } 4 | -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_10_i/court/grails-app/views/error.gsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_10_i/court/grails-app/views/error.gsp -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_10_i/court/grails-app/views/index.gsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_10_i/court/grails-app/views/index.gsp -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_10_i/court/grailsw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_10_i/court/grailsw -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_10_i/court/grailsw.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_10_i/court/grailsw.bat -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_10_i/court/web-app/WEB-INF/sitemesh.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_10_i/court/web-app/WEB-INF/sitemesh.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_10_i/court/web-app/WEB-INF/tld/c.tld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_10_i/court/web-app/WEB-INF/tld/c.tld -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_10_i/court/web-app/WEB-INF/tld/fmt.tld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_10_i/court/web-app/WEB-INF/tld/fmt.tld -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_11_i/court/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_11_i/court/application.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_11_i/court/grails-app/conf/Config.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_11_i/court/grails-app/conf/Config.groovy -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_11_i/court/grails-app/conf/spring/resources.groovy: -------------------------------------------------------------------------------- 1 | // Place your Spring DSL code here 2 | beans = { 3 | } 4 | -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_11_i/court/grails-app/views/error.gsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_11_i/court/grails-app/views/error.gsp -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_11_i/court/grails-app/views/index.gsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_11_i/court/grails-app/views/index.gsp -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_11_i/court/grailsw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_11_i/court/grailsw -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_11_i/court/grailsw.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_11_i/court/grailsw.bat -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_11_i/court/web-app/WEB-INF/sitemesh.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_11_i/court/web-app/WEB-INF/sitemesh.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_11_i/court/web-app/WEB-INF/tld/c.tld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_11_i/court/web-app/WEB-INF/tld/c.tld -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_11_i/court/web-app/WEB-INF/tld/fmt.tld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_11_i/court/web-app/WEB-INF/tld/fmt.tld -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_13_i/court/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_13_i/court/application.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_13_i/court/grails-app/conf/Config.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_13_i/court/grails-app/conf/Config.groovy -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_13_i/court/grails-app/conf/spring/resources.groovy: -------------------------------------------------------------------------------- 1 | // Place your Spring DSL code here 2 | beans = { 3 | } 4 | -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_13_i/court/grails-app/views/error.gsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_13_i/court/grails-app/views/error.gsp -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_13_i/court/grails-app/views/index.gsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_13_i/court/grails-app/views/index.gsp -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_13_i/court/grailsw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_13_i/court/grailsw -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_13_i/court/grailsw.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_13_i/court/grailsw.bat -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_13_i/court/web-app/WEB-INF/sitemesh.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_13_i/court/web-app/WEB-INF/sitemesh.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_13_i/court/web-app/WEB-INF/tld/c.tld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_13_i/court/web-app/WEB-INF/tld/c.tld -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_13_i/court/web-app/WEB-INF/tld/fmt.tld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_13_i/court/web-app/WEB-INF/tld/fmt.tld -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_14_i/court/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_14_i/court/application.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_14_i/court/grails-app/conf/Config.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_14_i/court/grails-app/conf/Config.groovy -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_14_i/court/grails-app/conf/spring/resources.groovy: -------------------------------------------------------------------------------- 1 | // Place your Spring DSL code here 2 | beans = { 3 | } 4 | -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_14_i/court/grails-app/views/error.gsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_14_i/court/grails-app/views/error.gsp -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_14_i/court/grails-app/views/index.gsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_14_i/court/grails-app/views/index.gsp -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_14_i/court/grailsw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_14_i/court/grailsw -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_14_i/court/grailsw.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_14_i/court/grailsw.bat -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_14_i/court/web-app/WEB-INF/sitemesh.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_14_i/court/web-app/WEB-INF/sitemesh.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_14_i/court/web-app/WEB-INF/tld/c.tld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_14_i/court/web-app/WEB-INF/tld/c.tld -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_14_i/court/web-app/WEB-INF/tld/fmt.tld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_14_i/court/web-app/WEB-INF/tld/fmt.tld -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_2_i/court/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_2_i/court/application.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_2_i/court/grails-app/conf/Config.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_2_i/court/grails-app/conf/Config.groovy -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_2_i/court/grails-app/conf/spring/resources.groovy: -------------------------------------------------------------------------------- 1 | // Place your Spring DSL code here 2 | beans = { 3 | } 4 | -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_2_i/court/grails-app/views/error.gsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_2_i/court/grails-app/views/error.gsp -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_2_i/court/grails-app/views/index.gsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_2_i/court/grails-app/views/index.gsp -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_2_i/court/grailsw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_2_i/court/grailsw -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_2_i/court/grailsw.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_2_i/court/grailsw.bat -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_2_i/court/web-app/WEB-INF/sitemesh.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_2_i/court/web-app/WEB-INF/sitemesh.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_2_i/court/web-app/WEB-INF/tld/c.tld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_2_i/court/web-app/WEB-INF/tld/c.tld -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_2_i/court/web-app/WEB-INF/tld/fmt.tld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_2_i/court/web-app/WEB-INF/tld/fmt.tld -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_2_i/court/web-app/WEB-INF/tld/grails.tld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_2_i/court/web-app/WEB-INF/tld/grails.tld -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_2_i/court/web-app/WEB-INF/tld/spring.tld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_2_i/court/web-app/WEB-INF/tld/spring.tld -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_2_ii/court/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_2_ii/court/application.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_2_ii/court/grails-app/conf/Config.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_2_ii/court/grails-app/conf/Config.groovy -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_2_ii/court/grails-app/conf/spring/resources.groovy: -------------------------------------------------------------------------------- 1 | // Place your Spring DSL code here 2 | beans = { 3 | } 4 | -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_2_ii/court/grails-app/views/error.gsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_2_ii/court/grails-app/views/error.gsp -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_2_ii/court/grails-app/views/index.gsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_2_ii/court/grails-app/views/index.gsp -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_2_ii/court/grailsw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_2_ii/court/grailsw -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_2_ii/court/grailsw.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_2_ii/court/grailsw.bat -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_2_ii/court/web-app/WEB-INF/sitemesh.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_2_ii/court/web-app/WEB-INF/sitemesh.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_2_ii/court/web-app/WEB-INF/tld/c.tld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_2_ii/court/web-app/WEB-INF/tld/c.tld -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_2_ii/court/web-app/WEB-INF/tld/fmt.tld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_2_ii/court/web-app/WEB-INF/tld/fmt.tld -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_5_i/court/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_5_i/court/application.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_5_i/court/grails-app/conf/Config.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_5_i/court/grails-app/conf/Config.groovy -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_5_i/court/grails-app/conf/spring/resources.groovy: -------------------------------------------------------------------------------- 1 | // Place your Spring DSL code here 2 | beans = { 3 | } 4 | -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_5_i/court/grails-app/views/error.gsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_5_i/court/grails-app/views/error.gsp -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_5_i/court/grails-app/views/index.gsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_5_i/court/grails-app/views/index.gsp -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_5_i/court/grailsw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_5_i/court/grailsw -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_5_i/court/grailsw.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_5_i/court/grailsw.bat -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_5_i/court/web-app/WEB-INF/sitemesh.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_5_i/court/web-app/WEB-INF/sitemesh.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_5_i/court/web-app/WEB-INF/tld/c.tld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_5_i/court/web-app/WEB-INF/tld/c.tld -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_5_i/court/web-app/WEB-INF/tld/fmt.tld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_5_i/court/web-app/WEB-INF/tld/fmt.tld -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_5_i/court/web-app/WEB-INF/tld/grails.tld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_5_i/court/web-app/WEB-INF/tld/grails.tld -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_5_i/court/web-app/WEB-INF/tld/spring.tld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_5_i/court/web-app/WEB-INF/tld/spring.tld -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_5_iii/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_5_iii/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_5_iii/gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_5_iii/gradlew -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_5_iii/gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_5_iii/gradlew.bat -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_6_i/court/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_6_i/court/application.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_6_i/court/grails-app/conf/Config.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_6_i/court/grails-app/conf/Config.groovy -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_6_i/court/grails-app/conf/spring/resources.groovy: -------------------------------------------------------------------------------- 1 | // Place your Spring DSL code here 2 | beans = { 3 | } 4 | -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_6_i/court/grails-app/views/error.gsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_6_i/court/grails-app/views/error.gsp -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_6_i/court/grails-app/views/index.gsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_6_i/court/grails-app/views/index.gsp -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_6_i/court/grailsw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_6_i/court/grailsw -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_6_i/court/grailsw.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_6_i/court/grailsw.bat -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_6_i/court/web-app/WEB-INF/sitemesh.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_6_i/court/web-app/WEB-INF/sitemesh.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_6_i/court/web-app/WEB-INF/tld/c.tld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_6_i/court/web-app/WEB-INF/tld/c.tld -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_6_i/court/web-app/WEB-INF/tld/fmt.tld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_6_i/court/web-app/WEB-INF/tld/fmt.tld -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_6_i/court/web-app/WEB-INF/tld/grails.tld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_6_i/court/web-app/WEB-INF/tld/grails.tld -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_6_i/court/web-app/WEB-INF/tld/spring.tld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_6_i/court/web-app/WEB-INF/tld/spring.tld -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_7_i/court/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_7_i/court/application.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_7_i/court/grails-app/conf/Config.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_7_i/court/grails-app/conf/Config.groovy -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_7_i/court/grails-app/conf/spring/resources.groovy: -------------------------------------------------------------------------------- 1 | // Place your Spring DSL code here 2 | beans = { 3 | } 4 | -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_7_i/court/grails-app/views/error.gsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_7_i/court/grails-app/views/error.gsp -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_7_i/court/grails-app/views/index.gsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_7_i/court/grails-app/views/index.gsp -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_7_i/court/grailsw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_7_i/court/grailsw -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_7_i/court/grailsw.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_7_i/court/grailsw.bat -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_7_i/court/web-app/WEB-INF/sitemesh.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_7_i/court/web-app/WEB-INF/sitemesh.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_7_i/court/web-app/WEB-INF/tld/c.tld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_7_i/court/web-app/WEB-INF/tld/c.tld -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_7_i/court/web-app/WEB-INF/tld/fmt.tld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_7_i/court/web-app/WEB-INF/tld/fmt.tld -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_7_i/court/web-app/WEB-INF/tld/grails.tld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_7_i/court/web-app/WEB-INF/tld/grails.tld -------------------------------------------------------------------------------- /springrecipes-master/Ch18/Recipe_18_7_i/court/web-app/WEB-INF/tld/spring.tld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch18/Recipe_18_7_i/court/web-app/WEB-INF/tld/spring.tld -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_1/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_1/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_10_i/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_10_i/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_10_ii/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_10_ii/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_10_iii/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_10_iii/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_11/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_11/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_12/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_12/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_12/src/main/resources/log4j.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_12/src/main/resources/log4j.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_13_i/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_13_i/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_13_ii/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_13_ii/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_13_iii/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_13_iii/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_13_iv/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_13_iv/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_14/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_14/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_15_i/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_15_i/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_15_ii/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_15_ii/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_16_i/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_16_i/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_16_ii/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_16_ii/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_16_iii/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_16_iii/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_17_i/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_17_i/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_17_ii/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_17_ii/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_17_iii/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_17_iii/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_17_iv/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_17_iv/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_18_i/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_18_i/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_18_ii/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_18_ii/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_18_iii/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_18_iii/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_19_i/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_19_i/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_19_ii/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_19_ii/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_19_iii/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_19_iii/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_20_i/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_20_i/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_20_ii/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_20_ii/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_20_iii/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_20_iii/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_21_i/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_21_i/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_21_ii/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_21_ii/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_21_iii/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_21_iii/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_22_i/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_22_i/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_22_ii/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_22_ii/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_22_ii/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_22_ii/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_2_i/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_2_i/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_2_ii/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_2_ii/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_2_iii/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_2_iii/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_3_i/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_3_i/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_3_ii/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_3_ii/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_3_iii/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_3_iii/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_3_iv/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_3_iv/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_3_v/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_3_v/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_3_v/src/main/resources/generators.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_3_v/src/main/resources/generators.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_4_i/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_4_i/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_4_ii/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_4_ii/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_4_iii/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_4_iii/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_4_iv/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_4_iv/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_4_v/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_4_v/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_4_vi/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_4_vi/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_4_vii/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_4_vii/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_5_i/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_5_i/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_5_ii/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_5_ii/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_6_i/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_6_i/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_6_ii/src/main/resources/banner.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_6_ii/src/main/resources/banner.txt -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_6_ii/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_6_ii/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_7/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_7/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_8_i/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_8_i/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_8_ii/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_8_ii/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_8_iii/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_8_iii/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/Recipe_2_9/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/Recipe_2_9/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch2/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch2/build.gradle -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_10_i/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_10_i/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_10_ii/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_10_ii/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_10_iii/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_10_iii/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_10_iii/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_10_iii/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_12_i/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_12_i/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_12_i/src/main/resources/log4j.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_12_i/src/main/resources/log4j.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_12_ii/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_12_ii/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_12_ii/src/main/resources/log4j.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_12_ii/src/main/resources/log4j.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_12_iii/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_12_iii/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_12_iii/src/main/resources/log4j.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_12_iii/src/main/resources/log4j.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_12_iv/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_12_iv/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_12_iv/src/main/resources/log4j.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_12_iv/src/main/resources/log4j.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_12_v/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_12_v/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_12_v/src/main/resources/log4j.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_12_v/src/main/resources/log4j.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_13/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_13/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_13/src/main/resources/log4j.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_13/src/main/resources/log4j.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_14_i/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_14_i/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_14_i/src/main/resources/log4j.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_14_i/src/main/resources/log4j.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_14_ii/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_14_ii/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_14_ii/src/main/resources/log4j.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_14_ii/src/main/resources/log4j.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_15_i/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_15_i/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_15_i/src/main/resources/log4j.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_15_i/src/main/resources/log4j.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_15_ii/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_15_ii/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_15_ii/src/main/resources/log4j.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_15_ii/src/main/resources/log4j.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_16_i/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_16_i/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_16_i/src/main/resources/log4j.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_16_i/src/main/resources/log4j.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_16_ii/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_16_ii/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_16_ii/src/main/resources/log4j.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_16_ii/src/main/resources/log4j.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_16_iii/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_16_iii/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_16_iii/src/main/resources/log4j.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_16_iii/src/main/resources/log4j.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_16_iv/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_16_iv/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_16_iv/src/main/resources/log4j.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_16_iv/src/main/resources/log4j.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_17/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_17/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_17/src/main/resources/log4j.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_17/src/main/resources/log4j.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_18/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_18/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_18/src/main/resources/log4j.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_18/src/main/resources/log4j.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_19_i/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_19_i/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_19_i/src/main/resources/log4j.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_19_i/src/main/resources/log4j.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_19_ii/src/main/resources/META-INF/aop.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_19_ii/src/main/resources/META-INF/aop.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_19_ii/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_19_ii/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_19_ii/src/main/resources/log4j.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_19_ii/src/main/resources/log4j.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_19_iii/src/main/resources/META-INF/aop.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_19_iii/src/main/resources/META-INF/aop.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_19_iii/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_19_iii/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_19_iii/src/main/resources/log4j.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_19_iii/src/main/resources/log4j.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_1_i/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_1_i/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_1_ii/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_1_ii/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_2/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_2/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_20/src/main/resources/META-INF/aop.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_20/src/main/resources/META-INF/aop.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_20/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_20/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_20/src/main/resources/log4j.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_20/src/main/resources/log4j.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_21/src/main/resources/META-INF/aop.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_21/src/main/resources/META-INF/aop.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_21/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_21/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_21/src/main/resources/log4j.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_21/src/main/resources/log4j.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_22_ii/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_22_ii/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_3_i/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_3_i/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_3_ii/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_3_ii/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_3_iii/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_3_iii/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_3_iv/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_3_iv/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_3_v/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_3_v/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_3_vi/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_3_vi/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_4_i/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_4_i/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_4_ii/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_4_ii/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_5_i/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_5_i/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_5_ii/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_5_ii/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_6_i/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_6_i/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_6_ii/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_6_ii/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_6_ii/src/main/resources/banner.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_6_ii/src/main/resources/banner.txt -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_6_ii/src/main/resources/beans.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_6_ii/src/main/resources/beans.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_7/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_7/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_8_i/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_8_i/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_8_ii/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_8_ii/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_8_iii/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_8_iii/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_8_iv/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_8_iv/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_9_i/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_9_i/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_9_ii/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_9_ii/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_9_iii/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_9_iii/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/Recipe_3_9_iv/src/main/resources/appContext.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/Recipe_3_9_iv/src/main/resources/appContext.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch3/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch3/build.gradle -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_10_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_10_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_10_i/src/main/webapp/WEB-INF/jsp/error.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_10_i/src/main/webapp/WEB-INF/jsp/error.jsp -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_10_i/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_10_i/src/main/webapp/WEB-INF/web.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_11_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_11_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_11_i/src/main/webapp/WEB-INF/jsp/error.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_11_i/src/main/webapp/WEB-INF/jsp/error.jsp -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_11_i/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_11_i/src/main/webapp/WEB-INF/web.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_1_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_1_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_1_i/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_1_i/src/main/webapp/WEB-INF/web.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_1_ii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_1_ii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_1_ii/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_1_ii/src/main/webapp/WEB-INF/web.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_1_iii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_1_iii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_1_iii/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_1_iii/src/main/webapp/WEB-INF/web.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_2_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_2_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_2_i/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_2_i/src/main/webapp/WEB-INF/web.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_2_ii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_2_ii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_2_ii/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_2_ii/src/main/webapp/WEB-INF/web.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_2_iii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_2_iii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_2_iii/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_2_iii/src/main/webapp/WEB-INF/web.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_3_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_3_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_3_i/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_3_i/src/main/webapp/WEB-INF/web.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_3_ii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_3_ii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_3_ii/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_3_ii/src/main/webapp/WEB-INF/web.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_3_iii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_3_iii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_3_iii/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_3_iii/src/main/webapp/WEB-INF/web.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_4_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_4_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_4_i/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_4_i/src/main/webapp/WEB-INF/web.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_5_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_5_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_5_i/src/main/resources/messages.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_5_i/src/main/resources/messages.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_5_i/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_5_i/src/main/webapp/WEB-INF/web.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_6_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_6_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_6_i/src/main/resources/messages.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_6_i/src/main/resources/messages.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_6_i/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_6_i/src/main/webapp/WEB-INF/web.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_6_ii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_6_ii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_6_ii/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_6_ii/src/main/webapp/WEB-INF/web.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_6_iii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_6_iii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_6_iii/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_6_iii/src/main/webapp/WEB-INF/web.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_7_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_7_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_7_i/src/main/resources/messages.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_7_i/src/main/resources/messages.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_7_i/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_7_i/src/main/webapp/WEB-INF/web.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_8_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_8_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_8_i/src/main/resources/messages.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_8_i/src/main/resources/messages.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_8_i/src/main/webapp/WEB-INF/jsp/error.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_8_i/src/main/webapp/WEB-INF/jsp/error.jsp -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_8_i/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_8_i/src/main/webapp/WEB-INF/web.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_8_ii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_8_ii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_8_ii/src/main/webapp/WEB-INF/jsp/error.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_8_ii/src/main/webapp/WEB-INF/jsp/error.jsp -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_8_ii/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_8_ii/src/main/webapp/WEB-INF/web.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_8_iii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_8_iii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_8_iii/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_8_iii/src/main/webapp/WEB-INF/web.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_9_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_9_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_9_i/src/main/resources/messages.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_9_i/src/main/resources/messages.properties -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_9_i/src/main/webapp/WEB-INF/jsp/error.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_9_i/src/main/webapp/WEB-INF/jsp/error.jsp -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_9_i/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_9_i/src/main/webapp/WEB-INF/web.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_9_ii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_9_ii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_9_ii/src/main/webapp/WEB-INF/jsp/error.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_9_ii/src/main/webapp/WEB-INF/jsp/error.jsp -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_9_ii/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_9_ii/src/main/webapp/WEB-INF/web.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_9_iii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_9_iii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_9_iii/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_9_iii/src/main/webapp/WEB-INF/web.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_9_iv/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_9_iv/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_9_iv/src/main/webapp/WEB-INF/jsp/error.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_9_iv/src/main/webapp/WEB-INF/jsp/error.jsp -------------------------------------------------------------------------------- /springrecipes-master/Ch4/Recipe_4_9_iv/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/Recipe_4_9_iv/src/main/webapp/WEB-INF/web.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch4/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch4/build.gradle -------------------------------------------------------------------------------- /springrecipes-master/Ch5/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch5/build.gradle -------------------------------------------------------------------------------- /springrecipes-master/Ch6/Recipe_6_1_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch6/Recipe_6_1_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch6/Recipe_6_2_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch6/Recipe_6_2_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch6/Recipe_6_2_ii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch6/Recipe_6_2_ii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch6/Recipe_6_3_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch6/Recipe_6_3_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch6/Recipe_6_4_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch6/Recipe_6_4_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch6/Recipe_6_4_ii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch6/Recipe_6_4_ii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch6/Recipe_6_5_i/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch6/Recipe_6_5_i/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /springrecipes-master/Ch6/Recipe_6_5_i/gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch6/Recipe_6_5_i/gradlew -------------------------------------------------------------------------------- /springrecipes-master/Ch6/Recipe_6_5_i/gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch6/Recipe_6_5_i/gradlew.bat -------------------------------------------------------------------------------- /springrecipes-master/Ch6/Recipe_6_5_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch6/Recipe_6_5_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch6/Recipe_6_6_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch6/Recipe_6_6_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch6/Recipe_6_7_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch6/Recipe_6_7_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch6/Recipe_6_7_i/src/main/resources/sql/init_users.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch6/Recipe_6_7_i/src/main/resources/sql/init_users.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch6/Recipe_6_7_ii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch6/Recipe_6_7_ii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch6/Recipe_6_7_ii/src/main/resources/sql/init_users.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch6/Recipe_6_7_ii/src/main/resources/sql/init_users.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch6/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch6/build.gradle -------------------------------------------------------------------------------- /springrecipes-master/Ch7/Recipe_7_1_i/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch7/Recipe_7_1_i/src/main/webapp/WEB-INF/web.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch7/Recipe_7_1_ii/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch7/Recipe_7_1_ii/src/main/webapp/WEB-INF/web.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch7/Recipe_7_2_i/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch7/Recipe_7_2_i/src/main/webapp/WEB-INF/web.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch7/Recipe_7_3_i/src/main/resources/ldap/users.ldif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch7/Recipe_7_3_i/src/main/resources/ldap/users.ldif -------------------------------------------------------------------------------- /springrecipes-master/Ch7/Recipe_7_3_i/src/main/resources/sql/legacy_data.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch7/Recipe_7_3_i/src/main/resources/sql/legacy_data.sql -------------------------------------------------------------------------------- /springrecipes-master/Ch7/Recipe_7_3_i/src/main/webapp/login.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch7/Recipe_7_3_i/src/main/webapp/login.jsp -------------------------------------------------------------------------------- /springrecipes-master/Ch7/Recipe_7_3_ii/src/main/resources/ehcache.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch7/Recipe_7_3_ii/src/main/resources/ehcache.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch7/Recipe_7_3_ii/src/main/resources/ldap/users.ldif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch7/Recipe_7_3_ii/src/main/resources/ldap/users.ldif -------------------------------------------------------------------------------- /springrecipes-master/Ch7/Recipe_7_3_ii/src/main/webapp/login.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch7/Recipe_7_3_ii/src/main/webapp/login.jsp -------------------------------------------------------------------------------- /springrecipes-master/Ch7/Recipe_7_4_i/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch7/Recipe_7_4_i/src/main/webapp/WEB-INF/web.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch7/Recipe_7_4_i/src/main/webapp/login.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch7/Recipe_7_4_i/src/main/webapp/login.jsp -------------------------------------------------------------------------------- /springrecipes-master/Ch7/Recipe_7_4_ii/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch7/Recipe_7_4_ii/src/main/webapp/WEB-INF/web.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch7/Recipe_7_4_ii/src/main/webapp/login.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch7/Recipe_7_4_ii/src/main/webapp/login.jsp -------------------------------------------------------------------------------- /springrecipes-master/Ch7/Recipe_7_4_iii/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch7/Recipe_7_4_iii/src/main/webapp/WEB-INF/web.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch7/Recipe_7_4_iii/src/main/webapp/login.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch7/Recipe_7_4_iii/src/main/webapp/login.jsp -------------------------------------------------------------------------------- /springrecipes-master/Ch7/Recipe_7_4_iv/src/main/webapp/login.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch7/Recipe_7_4_iv/src/main/webapp/login.jsp -------------------------------------------------------------------------------- /springrecipes-master/Ch7/Recipe_7_4_v/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch7/Recipe_7_4_v/src/main/webapp/WEB-INF/web.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch7/Recipe_7_4_v/src/main/webapp/login.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch7/Recipe_7_4_v/src/main/webapp/login.jsp -------------------------------------------------------------------------------- /springrecipes-master/Ch7/Recipe_7_6_i/src/main/webapp/login.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch7/Recipe_7_6_i/src/main/webapp/login.jsp -------------------------------------------------------------------------------- /springrecipes-master/Ch7/Recipe_7_7_i/src/main/resources/ehcache.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch7/Recipe_7_7_i/src/main/resources/ehcache.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch7/Recipe_7_7_i/src/main/webapp/WEB-INF/board-acl.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch7/Recipe_7_7_i/src/main/webapp/WEB-INF/board-acl.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch7/Recipe_7_7_i/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch7/Recipe_7_7_i/src/main/webapp/WEB-INF/web.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch7/Recipe_7_7_i/src/main/webapp/login.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch7/Recipe_7_7_i/src/main/webapp/login.jsp -------------------------------------------------------------------------------- /springrecipes-master/Ch7/Recipe_7_7_ii/src/main/resources/ehcache.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch7/Recipe_7_7_ii/src/main/resources/ehcache.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch7/Recipe_7_7_ii/src/main/webapp/WEB-INF/board-acl.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch7/Recipe_7_7_ii/src/main/webapp/WEB-INF/board-acl.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch7/Recipe_7_7_ii/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch7/Recipe_7_7_ii/src/main/webapp/WEB-INF/web.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch7/Recipe_7_7_ii/src/main/webapp/login.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch7/Recipe_7_7_ii/src/main/webapp/login.jsp -------------------------------------------------------------------------------- /springrecipes-master/Ch7/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch7/build.gradle -------------------------------------------------------------------------------- /springrecipes-master/Ch8/Recipe_8_1_i/src/main/webapp/WEB-INF/views/home.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch8/Recipe_8_1_i/src/main/webapp/WEB-INF/views/home.jsp -------------------------------------------------------------------------------- /springrecipes-master/Ch8/Recipe_8_2_i/src/main/webapp/WEB-INF/views/home.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch8/Recipe_8_2_i/src/main/webapp/WEB-INF/views/home.jsp -------------------------------------------------------------------------------- /springrecipes-master/Ch8/Recipe_8_3_i/src/main/webapp/WEB-INF/views/home.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch8/Recipe_8_3_i/src/main/webapp/WEB-INF/views/home.jsp -------------------------------------------------------------------------------- /springrecipes-master/Ch8/Recipe_8_4_i/src/main/webapp/WEB-INF/views/home.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch8/Recipe_8_4_i/src/main/webapp/WEB-INF/views/home.jsp -------------------------------------------------------------------------------- /springrecipes-master/Ch8/Recipe_8_5_i/src/main/webapp/WEB-INF/views/home.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch8/Recipe_8_5_i/src/main/webapp/WEB-INF/views/home.jsp -------------------------------------------------------------------------------- /springrecipes-master/Ch8/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch8/build.gradle -------------------------------------------------------------------------------- /springrecipes-master/Ch9/Recipe_9_1_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch9/Recipe_9_1_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch9/Recipe_9_1_ii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch9/Recipe_9_1_ii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch9/Recipe_9_1_iii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch9/Recipe_9_1_iii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch9/Recipe_9_2_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch9/Recipe_9_2_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch9/Recipe_9_2_ii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch9/Recipe_9_2_ii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch9/Recipe_9_3_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch9/Recipe_9_3_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch9/Recipe_9_3_i/src/main/webapp/distance.xhtml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch9/Recipe_9_3_i/src/main/webapp/distance.xhtml -------------------------------------------------------------------------------- /springrecipes-master/Ch9/Recipe_9_3_ii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch9/Recipe_9_3_ii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch9/Recipe_9_3_ii/src/main/webapp/distance.xhtml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch9/Recipe_9_3_ii/src/main/webapp/distance.xhtml -------------------------------------------------------------------------------- /springrecipes-master/Ch9/Recipe_9_4_i/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch9/Recipe_9_4_i/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch9/Recipe_9_4_i/src/main/webapp/WEB-INF/dwr.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch9/Recipe_9_4_i/src/main/webapp/WEB-INF/dwr.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch9/Recipe_9_4_i/src/main/webapp/distance.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch9/Recipe_9_4_i/src/main/webapp/distance.html -------------------------------------------------------------------------------- /springrecipes-master/Ch9/Recipe_9_4_ii/src/main/resources/dwr-context.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch9/Recipe_9_4_ii/src/main/resources/dwr-context.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch9/Recipe_9_4_ii/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch9/Recipe_9_4_ii/src/main/resources/logback.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch9/Recipe_9_4_ii/src/main/webapp/WEB-INF/dwr.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch9/Recipe_9_4_ii/src/main/webapp/WEB-INF/dwr.xml -------------------------------------------------------------------------------- /springrecipes-master/Ch9/Recipe_9_4_ii/src/main/webapp/distance.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch9/Recipe_9_4_ii/src/main/webapp/distance.html -------------------------------------------------------------------------------- /springrecipes-master/Ch9/Recipe_9_4_ii/src/main/webapp/index.jsp: -------------------------------------------------------------------------------- 1 | hi -------------------------------------------------------------------------------- /springrecipes-master/Ch9/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch9/build.gradle -------------------------------------------------------------------------------- /springrecipes-master/Ch9/libs/dwr-3.0.0.RC2-src.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch9/libs/dwr-3.0.0.RC2-src.jar -------------------------------------------------------------------------------- /springrecipes-master/Ch9/libs/dwr-3.0.0.RC2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/Ch9/libs/dwr-3.0.0.RC2.jar -------------------------------------------------------------------------------- /springrecipes-master/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/README.md -------------------------------------------------------------------------------- /springrecipes-master/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/build.gradle -------------------------------------------------------------------------------- /springrecipes-master/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /springrecipes-master/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /springrecipes-master/gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/gradlew -------------------------------------------------------------------------------- /springrecipes-master/gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/gradlew.bat -------------------------------------------------------------------------------- /springrecipes-master/settings.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-recipes-14/HEAD/springrecipes-master/settings.gradle --------------------------------------------------------------------------------