├── .gemini └── settings.json ├── .github └── workflows │ └── build.yml ├── .gitignore ├── CLAUDE.md ├── GEMINI.md ├── LICENSE ├── README.md ├── TODO.md ├── advanced-labs.md ├── demo ├── .gitignore ├── build.gradle ├── challenges.txt ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── notes.txt └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── kousenit │ │ │ └── demo │ │ │ ├── DemoApplication.java │ │ │ ├── aspects │ │ │ ├── LoggingAspect.java │ │ │ └── Timed.java │ │ │ ├── config │ │ │ └── AppConfig.java │ │ │ ├── controllers │ │ │ ├── HelloController.java │ │ │ ├── HelloRestController.java │ │ │ └── HelloRestControllerWithMap.java │ │ │ └── json │ │ │ └── Greeting.java │ └── resources │ │ ├── application.properties │ │ ├── static │ │ └── index.html │ │ └── templates │ │ └── welcome.html │ └── test │ └── java │ └── com │ └── kousenit │ └── demo │ ├── DemoApplicationTests.java │ ├── aspects │ └── LoggingAspectTest.java │ └── controllers │ ├── HelloControllerMockMVCTest.java │ ├── HelloControllerUnitTest.java │ ├── HelloRestControllerIntegrationTest.java │ └── HelloRestControllerWithMapTest.java ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── labs.md ├── package.json ├── persistence ├── .gitignore ├── build.gradle ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── notes.txt └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── kousenit │ │ │ └── persistence │ │ │ ├── PersistenceApplication.java │ │ │ ├── config │ │ │ └── ProfileConfig.java │ │ │ ├── dao │ │ │ ├── JdbcClientOfficerDAO.java │ │ │ ├── JdbcOfficerDAO.java │ │ │ ├── JpaOfficerDAO.java │ │ │ ├── OfficerDAO.java │ │ │ └── OfficerRepository.java │ │ │ └── entities │ │ │ ├── Officer.java │ │ │ └── Rank.java │ └── resources │ │ ├── application-dev.yml │ │ ├── application-prod.yml │ │ ├── application-test.yml │ │ ├── application.yml │ │ ├── data.sql │ │ └── schema.sql │ └── test │ └── java │ └── com │ └── kousenit │ └── persistence │ ├── PersistenceApplicationTests.java │ ├── config │ ├── DevProfileTest.java │ ├── ProdProfileTest.java │ ├── ProfileDemonstrationTest.java │ └── TestProfileTest.java │ └── dao │ ├── JdbcClientOfficerDAOTest.java │ ├── JdbcOfficerDAOTest.java │ ├── JpaOfficerDAOTest.java │ └── OfficerRepositoryTest.java ├── restclient ├── .gitignore ├── HELP.md ├── build.gradle ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── kousenit │ │ │ └── restclient │ │ │ ├── RestclientApplication.java │ │ │ ├── config │ │ │ ├── ApiConfig.java │ │ │ ├── AppConfig.java │ │ │ └── MyProperties.java │ │ │ ├── entities │ │ │ └── Site.java │ │ │ ├── json │ │ │ ├── Address.java │ │ │ ├── Assignment.java │ │ │ ├── AstroResponse.java │ │ │ ├── Company.java │ │ │ ├── Geo.java │ │ │ ├── Geometry.java │ │ │ ├── JokeResponse.java │ │ │ ├── Location.java │ │ │ ├── Post.java │ │ │ ├── Response.java │ │ │ ├── Result.java │ │ │ └── User.java │ │ │ └── services │ │ │ ├── AstroService.java │ │ │ ├── JokeService.java │ │ │ └── JsonPlaceholderService.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── kousenit │ └── restclient │ ├── RestclientApplicationTests.java │ ├── config │ └── ApiConfigTest.java │ └── services │ ├── AstroServiceTest.java │ ├── JokeServiceTest.java │ └── JsonPlaceholderServiceTest.java ├── settings.gradle ├── shopping ├── .gitignore ├── build.gradle ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── kousenit │ │ │ └── shopping │ │ │ ├── ShoppingApplication.java │ │ │ ├── config │ │ │ └── AppConfig.java │ │ │ ├── controllers │ │ │ ├── GlobalExceptionHandler.java │ │ │ └── ProductRestController.java │ │ │ ├── dto │ │ │ ├── ApiError.java │ │ │ ├── ProductRequest.java │ │ │ ├── ProductResponse.java │ │ │ ├── StockUpdateRequest.java │ │ │ └── ValidationError.java │ │ │ ├── entities │ │ │ └── Product.java │ │ │ ├── exceptions │ │ │ ├── InsufficientStockException.java │ │ │ ├── ProductNotFoundException.java │ │ │ └── ProductValidationException.java │ │ │ ├── repositories │ │ │ └── ProductRepository.java │ │ │ └── services │ │ │ └── ProductService.java │ └── resources │ │ └── application.yml │ └── test │ └── java │ └── com │ └── kousenit │ └── shopping │ ├── ShoppingApplicationIntegrationTest.java │ ├── controllers │ └── ProductRestControllerTest.java │ ├── entities │ └── ProductTest.java │ ├── repositories │ └── ProductRepositoryTest.java │ └── services │ └── ProductServiceTest.java ├── slides-export.pdf ├── slides-export.pptx └── slides.md /.gemini/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/.gemini/settings.json -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/.github/workflows/build.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/.gitignore -------------------------------------------------------------------------------- /CLAUDE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/CLAUDE.md -------------------------------------------------------------------------------- /GEMINI.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/GEMINI.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/README.md -------------------------------------------------------------------------------- /TODO.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/TODO.md -------------------------------------------------------------------------------- /advanced-labs.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/advanced-labs.md -------------------------------------------------------------------------------- /demo/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/demo/.gitignore -------------------------------------------------------------------------------- /demo/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/demo/build.gradle -------------------------------------------------------------------------------- /demo/challenges.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/demo/challenges.txt -------------------------------------------------------------------------------- /demo/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/demo/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /demo/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/demo/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /demo/gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/demo/gradlew -------------------------------------------------------------------------------- /demo/gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/demo/gradlew.bat -------------------------------------------------------------------------------- /demo/notes.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/demo/notes.txt -------------------------------------------------------------------------------- /demo/src/main/java/com/kousenit/demo/DemoApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/demo/src/main/java/com/kousenit/demo/DemoApplication.java -------------------------------------------------------------------------------- /demo/src/main/java/com/kousenit/demo/aspects/LoggingAspect.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/demo/src/main/java/com/kousenit/demo/aspects/LoggingAspect.java -------------------------------------------------------------------------------- /demo/src/main/java/com/kousenit/demo/aspects/Timed.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/demo/src/main/java/com/kousenit/demo/aspects/Timed.java -------------------------------------------------------------------------------- /demo/src/main/java/com/kousenit/demo/config/AppConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/demo/src/main/java/com/kousenit/demo/config/AppConfig.java -------------------------------------------------------------------------------- /demo/src/main/java/com/kousenit/demo/controllers/HelloController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/demo/src/main/java/com/kousenit/demo/controllers/HelloController.java -------------------------------------------------------------------------------- /demo/src/main/java/com/kousenit/demo/controllers/HelloRestController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/demo/src/main/java/com/kousenit/demo/controllers/HelloRestController.java -------------------------------------------------------------------------------- /demo/src/main/java/com/kousenit/demo/controllers/HelloRestControllerWithMap.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/demo/src/main/java/com/kousenit/demo/controllers/HelloRestControllerWithMap.java -------------------------------------------------------------------------------- /demo/src/main/java/com/kousenit/demo/json/Greeting.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/demo/src/main/java/com/kousenit/demo/json/Greeting.java -------------------------------------------------------------------------------- /demo/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/main/resources/static/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/demo/src/main/resources/static/index.html -------------------------------------------------------------------------------- /demo/src/main/resources/templates/welcome.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/demo/src/main/resources/templates/welcome.html -------------------------------------------------------------------------------- /demo/src/test/java/com/kousenit/demo/DemoApplicationTests.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/demo/src/test/java/com/kousenit/demo/DemoApplicationTests.java -------------------------------------------------------------------------------- /demo/src/test/java/com/kousenit/demo/aspects/LoggingAspectTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/demo/src/test/java/com/kousenit/demo/aspects/LoggingAspectTest.java -------------------------------------------------------------------------------- /demo/src/test/java/com/kousenit/demo/controllers/HelloControllerMockMVCTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/demo/src/test/java/com/kousenit/demo/controllers/HelloControllerMockMVCTest.java -------------------------------------------------------------------------------- /demo/src/test/java/com/kousenit/demo/controllers/HelloControllerUnitTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/demo/src/test/java/com/kousenit/demo/controllers/HelloControllerUnitTest.java -------------------------------------------------------------------------------- /demo/src/test/java/com/kousenit/demo/controllers/HelloRestControllerIntegrationTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/demo/src/test/java/com/kousenit/demo/controllers/HelloRestControllerIntegrationTest.java -------------------------------------------------------------------------------- /demo/src/test/java/com/kousenit/demo/controllers/HelloRestControllerWithMapTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/demo/src/test/java/com/kousenit/demo/controllers/HelloRestControllerWithMapTest.java -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/gradlew.bat -------------------------------------------------------------------------------- /labs.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/labs.md -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/package.json -------------------------------------------------------------------------------- /persistence/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/persistence/.gitignore -------------------------------------------------------------------------------- /persistence/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/persistence/build.gradle -------------------------------------------------------------------------------- /persistence/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/persistence/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /persistence/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/persistence/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /persistence/gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/persistence/gradlew -------------------------------------------------------------------------------- /persistence/gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/persistence/gradlew.bat -------------------------------------------------------------------------------- /persistence/notes.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/persistence/notes.txt -------------------------------------------------------------------------------- /persistence/src/main/java/com/kousenit/persistence/PersistenceApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/persistence/src/main/java/com/kousenit/persistence/PersistenceApplication.java -------------------------------------------------------------------------------- /persistence/src/main/java/com/kousenit/persistence/config/ProfileConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/persistence/src/main/java/com/kousenit/persistence/config/ProfileConfig.java -------------------------------------------------------------------------------- /persistence/src/main/java/com/kousenit/persistence/dao/JdbcClientOfficerDAO.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/persistence/src/main/java/com/kousenit/persistence/dao/JdbcClientOfficerDAO.java -------------------------------------------------------------------------------- /persistence/src/main/java/com/kousenit/persistence/dao/JdbcOfficerDAO.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/persistence/src/main/java/com/kousenit/persistence/dao/JdbcOfficerDAO.java -------------------------------------------------------------------------------- /persistence/src/main/java/com/kousenit/persistence/dao/JpaOfficerDAO.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/persistence/src/main/java/com/kousenit/persistence/dao/JpaOfficerDAO.java -------------------------------------------------------------------------------- /persistence/src/main/java/com/kousenit/persistence/dao/OfficerDAO.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/persistence/src/main/java/com/kousenit/persistence/dao/OfficerDAO.java -------------------------------------------------------------------------------- /persistence/src/main/java/com/kousenit/persistence/dao/OfficerRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/persistence/src/main/java/com/kousenit/persistence/dao/OfficerRepository.java -------------------------------------------------------------------------------- /persistence/src/main/java/com/kousenit/persistence/entities/Officer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/persistence/src/main/java/com/kousenit/persistence/entities/Officer.java -------------------------------------------------------------------------------- /persistence/src/main/java/com/kousenit/persistence/entities/Rank.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/persistence/src/main/java/com/kousenit/persistence/entities/Rank.java -------------------------------------------------------------------------------- /persistence/src/main/resources/application-dev.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/persistence/src/main/resources/application-dev.yml -------------------------------------------------------------------------------- /persistence/src/main/resources/application-prod.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/persistence/src/main/resources/application-prod.yml -------------------------------------------------------------------------------- /persistence/src/main/resources/application-test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/persistence/src/main/resources/application-test.yml -------------------------------------------------------------------------------- /persistence/src/main/resources/application.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/persistence/src/main/resources/application.yml -------------------------------------------------------------------------------- /persistence/src/main/resources/data.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/persistence/src/main/resources/data.sql -------------------------------------------------------------------------------- /persistence/src/main/resources/schema.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/persistence/src/main/resources/schema.sql -------------------------------------------------------------------------------- /persistence/src/test/java/com/kousenit/persistence/PersistenceApplicationTests.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/persistence/src/test/java/com/kousenit/persistence/PersistenceApplicationTests.java -------------------------------------------------------------------------------- /persistence/src/test/java/com/kousenit/persistence/config/DevProfileTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/persistence/src/test/java/com/kousenit/persistence/config/DevProfileTest.java -------------------------------------------------------------------------------- /persistence/src/test/java/com/kousenit/persistence/config/ProdProfileTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/persistence/src/test/java/com/kousenit/persistence/config/ProdProfileTest.java -------------------------------------------------------------------------------- /persistence/src/test/java/com/kousenit/persistence/config/ProfileDemonstrationTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/persistence/src/test/java/com/kousenit/persistence/config/ProfileDemonstrationTest.java -------------------------------------------------------------------------------- /persistence/src/test/java/com/kousenit/persistence/config/TestProfileTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/persistence/src/test/java/com/kousenit/persistence/config/TestProfileTest.java -------------------------------------------------------------------------------- /persistence/src/test/java/com/kousenit/persistence/dao/JdbcClientOfficerDAOTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/persistence/src/test/java/com/kousenit/persistence/dao/JdbcClientOfficerDAOTest.java -------------------------------------------------------------------------------- /persistence/src/test/java/com/kousenit/persistence/dao/JdbcOfficerDAOTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/persistence/src/test/java/com/kousenit/persistence/dao/JdbcOfficerDAOTest.java -------------------------------------------------------------------------------- /persistence/src/test/java/com/kousenit/persistence/dao/JpaOfficerDAOTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/persistence/src/test/java/com/kousenit/persistence/dao/JpaOfficerDAOTest.java -------------------------------------------------------------------------------- /persistence/src/test/java/com/kousenit/persistence/dao/OfficerRepositoryTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/persistence/src/test/java/com/kousenit/persistence/dao/OfficerRepositoryTest.java -------------------------------------------------------------------------------- /restclient/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/restclient/.gitignore -------------------------------------------------------------------------------- /restclient/HELP.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/restclient/HELP.md -------------------------------------------------------------------------------- /restclient/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/restclient/build.gradle -------------------------------------------------------------------------------- /restclient/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/restclient/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /restclient/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/restclient/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /restclient/gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/restclient/gradlew -------------------------------------------------------------------------------- /restclient/gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/restclient/gradlew.bat -------------------------------------------------------------------------------- /restclient/src/main/java/com/kousenit/restclient/RestclientApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/restclient/src/main/java/com/kousenit/restclient/RestclientApplication.java -------------------------------------------------------------------------------- /restclient/src/main/java/com/kousenit/restclient/config/ApiConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/restclient/src/main/java/com/kousenit/restclient/config/ApiConfig.java -------------------------------------------------------------------------------- /restclient/src/main/java/com/kousenit/restclient/config/AppConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/restclient/src/main/java/com/kousenit/restclient/config/AppConfig.java -------------------------------------------------------------------------------- /restclient/src/main/java/com/kousenit/restclient/config/MyProperties.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/restclient/src/main/java/com/kousenit/restclient/config/MyProperties.java -------------------------------------------------------------------------------- /restclient/src/main/java/com/kousenit/restclient/entities/Site.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/restclient/src/main/java/com/kousenit/restclient/entities/Site.java -------------------------------------------------------------------------------- /restclient/src/main/java/com/kousenit/restclient/json/Address.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/restclient/src/main/java/com/kousenit/restclient/json/Address.java -------------------------------------------------------------------------------- /restclient/src/main/java/com/kousenit/restclient/json/Assignment.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/restclient/src/main/java/com/kousenit/restclient/json/Assignment.java -------------------------------------------------------------------------------- /restclient/src/main/java/com/kousenit/restclient/json/AstroResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/restclient/src/main/java/com/kousenit/restclient/json/AstroResponse.java -------------------------------------------------------------------------------- /restclient/src/main/java/com/kousenit/restclient/json/Company.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/restclient/src/main/java/com/kousenit/restclient/json/Company.java -------------------------------------------------------------------------------- /restclient/src/main/java/com/kousenit/restclient/json/Geo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/restclient/src/main/java/com/kousenit/restclient/json/Geo.java -------------------------------------------------------------------------------- /restclient/src/main/java/com/kousenit/restclient/json/Geometry.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/restclient/src/main/java/com/kousenit/restclient/json/Geometry.java -------------------------------------------------------------------------------- /restclient/src/main/java/com/kousenit/restclient/json/JokeResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/restclient/src/main/java/com/kousenit/restclient/json/JokeResponse.java -------------------------------------------------------------------------------- /restclient/src/main/java/com/kousenit/restclient/json/Location.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/restclient/src/main/java/com/kousenit/restclient/json/Location.java -------------------------------------------------------------------------------- /restclient/src/main/java/com/kousenit/restclient/json/Post.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/restclient/src/main/java/com/kousenit/restclient/json/Post.java -------------------------------------------------------------------------------- /restclient/src/main/java/com/kousenit/restclient/json/Response.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/restclient/src/main/java/com/kousenit/restclient/json/Response.java -------------------------------------------------------------------------------- /restclient/src/main/java/com/kousenit/restclient/json/Result.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/restclient/src/main/java/com/kousenit/restclient/json/Result.java -------------------------------------------------------------------------------- /restclient/src/main/java/com/kousenit/restclient/json/User.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/restclient/src/main/java/com/kousenit/restclient/json/User.java -------------------------------------------------------------------------------- /restclient/src/main/java/com/kousenit/restclient/services/AstroService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/restclient/src/main/java/com/kousenit/restclient/services/AstroService.java -------------------------------------------------------------------------------- /restclient/src/main/java/com/kousenit/restclient/services/JokeService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/restclient/src/main/java/com/kousenit/restclient/services/JokeService.java -------------------------------------------------------------------------------- /restclient/src/main/java/com/kousenit/restclient/services/JsonPlaceholderService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/restclient/src/main/java/com/kousenit/restclient/services/JsonPlaceholderService.java -------------------------------------------------------------------------------- /restclient/src/main/resources/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/restclient/src/main/resources/application.properties -------------------------------------------------------------------------------- /restclient/src/test/java/com/kousenit/restclient/RestclientApplicationTests.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/restclient/src/test/java/com/kousenit/restclient/RestclientApplicationTests.java -------------------------------------------------------------------------------- /restclient/src/test/java/com/kousenit/restclient/config/ApiConfigTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/restclient/src/test/java/com/kousenit/restclient/config/ApiConfigTest.java -------------------------------------------------------------------------------- /restclient/src/test/java/com/kousenit/restclient/services/AstroServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/restclient/src/test/java/com/kousenit/restclient/services/AstroServiceTest.java -------------------------------------------------------------------------------- /restclient/src/test/java/com/kousenit/restclient/services/JokeServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/restclient/src/test/java/com/kousenit/restclient/services/JokeServiceTest.java -------------------------------------------------------------------------------- /restclient/src/test/java/com/kousenit/restclient/services/JsonPlaceholderServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/restclient/src/test/java/com/kousenit/restclient/services/JsonPlaceholderServiceTest.java -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/settings.gradle -------------------------------------------------------------------------------- /shopping/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/shopping/.gitignore -------------------------------------------------------------------------------- /shopping/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/shopping/build.gradle -------------------------------------------------------------------------------- /shopping/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/shopping/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /shopping/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/shopping/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /shopping/gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/shopping/gradlew -------------------------------------------------------------------------------- /shopping/gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/shopping/gradlew.bat -------------------------------------------------------------------------------- /shopping/src/main/java/com/kousenit/shopping/ShoppingApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/shopping/src/main/java/com/kousenit/shopping/ShoppingApplication.java -------------------------------------------------------------------------------- /shopping/src/main/java/com/kousenit/shopping/config/AppConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/shopping/src/main/java/com/kousenit/shopping/config/AppConfig.java -------------------------------------------------------------------------------- /shopping/src/main/java/com/kousenit/shopping/controllers/GlobalExceptionHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/shopping/src/main/java/com/kousenit/shopping/controllers/GlobalExceptionHandler.java -------------------------------------------------------------------------------- /shopping/src/main/java/com/kousenit/shopping/controllers/ProductRestController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/shopping/src/main/java/com/kousenit/shopping/controllers/ProductRestController.java -------------------------------------------------------------------------------- /shopping/src/main/java/com/kousenit/shopping/dto/ApiError.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/shopping/src/main/java/com/kousenit/shopping/dto/ApiError.java -------------------------------------------------------------------------------- /shopping/src/main/java/com/kousenit/shopping/dto/ProductRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/shopping/src/main/java/com/kousenit/shopping/dto/ProductRequest.java -------------------------------------------------------------------------------- /shopping/src/main/java/com/kousenit/shopping/dto/ProductResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/shopping/src/main/java/com/kousenit/shopping/dto/ProductResponse.java -------------------------------------------------------------------------------- /shopping/src/main/java/com/kousenit/shopping/dto/StockUpdateRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/shopping/src/main/java/com/kousenit/shopping/dto/StockUpdateRequest.java -------------------------------------------------------------------------------- /shopping/src/main/java/com/kousenit/shopping/dto/ValidationError.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/shopping/src/main/java/com/kousenit/shopping/dto/ValidationError.java -------------------------------------------------------------------------------- /shopping/src/main/java/com/kousenit/shopping/entities/Product.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/shopping/src/main/java/com/kousenit/shopping/entities/Product.java -------------------------------------------------------------------------------- /shopping/src/main/java/com/kousenit/shopping/exceptions/InsufficientStockException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/shopping/src/main/java/com/kousenit/shopping/exceptions/InsufficientStockException.java -------------------------------------------------------------------------------- /shopping/src/main/java/com/kousenit/shopping/exceptions/ProductNotFoundException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/shopping/src/main/java/com/kousenit/shopping/exceptions/ProductNotFoundException.java -------------------------------------------------------------------------------- /shopping/src/main/java/com/kousenit/shopping/exceptions/ProductValidationException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/shopping/src/main/java/com/kousenit/shopping/exceptions/ProductValidationException.java -------------------------------------------------------------------------------- /shopping/src/main/java/com/kousenit/shopping/repositories/ProductRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/shopping/src/main/java/com/kousenit/shopping/repositories/ProductRepository.java -------------------------------------------------------------------------------- /shopping/src/main/java/com/kousenit/shopping/services/ProductService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/shopping/src/main/java/com/kousenit/shopping/services/ProductService.java -------------------------------------------------------------------------------- /shopping/src/main/resources/application.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/shopping/src/main/resources/application.yml -------------------------------------------------------------------------------- /shopping/src/test/java/com/kousenit/shopping/ShoppingApplicationIntegrationTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/shopping/src/test/java/com/kousenit/shopping/ShoppingApplicationIntegrationTest.java -------------------------------------------------------------------------------- /shopping/src/test/java/com/kousenit/shopping/controllers/ProductRestControllerTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/shopping/src/test/java/com/kousenit/shopping/controllers/ProductRestControllerTest.java -------------------------------------------------------------------------------- /shopping/src/test/java/com/kousenit/shopping/entities/ProductTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/shopping/src/test/java/com/kousenit/shopping/entities/ProductTest.java -------------------------------------------------------------------------------- /shopping/src/test/java/com/kousenit/shopping/repositories/ProductRepositoryTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/shopping/src/test/java/com/kousenit/shopping/repositories/ProductRepositoryTest.java -------------------------------------------------------------------------------- /shopping/src/test/java/com/kousenit/shopping/services/ProductServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/shopping/src/test/java/com/kousenit/shopping/services/ProductServiceTest.java -------------------------------------------------------------------------------- /slides-export.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/slides-export.pdf -------------------------------------------------------------------------------- /slides-export.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/slides-export.pptx -------------------------------------------------------------------------------- /slides.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/spring-and-spring-boot/HEAD/slides.md --------------------------------------------------------------------------------