├── .DS_Store ├── .idea ├── modules.xml ├── rean-spring-framework.iml ├── vcs.xml └── workspace.xml ├── .vscode └── settings.json ├── 0. Spring Framework Tips ├── #1 fix-jetty-with-spring-boot-3 │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── rean │ │ │ │ └── FixJettyWithSpringBoot3Application.java │ │ └── resources │ │ │ └── application.properties │ │ └── test │ │ └── java │ │ └── com │ │ └── rean │ │ └── FixJettyWithSpringBoot3ApplicationTests.java ├── #2 generic-rest-controller │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── Generic Rest Controller.postman_collection.json │ ├── images │ │ └── Generic Rest Controller.png │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── rean │ │ │ │ ├── GenericRestControllerApplication.java │ │ │ │ ├── controller │ │ │ │ └── BookController.java │ │ │ │ ├── generic │ │ │ │ ├── GenericController.java │ │ │ │ ├── GenericEntity.java │ │ │ │ ├── GenericRepository.java │ │ │ │ └── GenericService.java │ │ │ │ ├── model │ │ │ │ └── Book.java │ │ │ │ └── repository │ │ │ │ └── BookRepository.java │ │ └── resources │ │ │ └── application.properties │ │ └── test │ │ └── java │ │ └── com │ │ └── rean │ │ └── GenericRestControllerApplicationTests.java ├── #3 spring-boot-qr-code │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── rean │ │ │ │ ├── QRCodeGeneratorController.java │ │ │ │ ├── QRCodeGeneratorService.java │ │ │ │ └── SpringBootQrCodeApplication.java │ │ └── resources │ │ │ ├── application.properties │ │ │ └── templates │ │ │ └── qrcode.html │ │ └── test │ │ └── java │ │ └── com │ │ └── rean │ │ └── SpringBootQrCodeApplicationTests.java ├── #4 spring-boot-rating-limit │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── rean │ │ │ │ ├── SpringBootRatingLimitApplication.java │ │ │ │ ├── controller │ │ │ │ └── PostController.java │ │ │ │ ├── model │ │ │ │ └── Post.java │ │ │ │ ├── repository │ │ │ │ └── PostRepository.java │ │ │ │ └── service │ │ │ │ ├── PostService.java │ │ │ │ └── RatingLimitService.java │ │ └── resources │ │ │ └── application.properties │ │ └── test │ │ └── java │ │ └── com │ │ └── rean │ │ └── SpringBootRatingLimitApplicationTests.java ├── #5 spring-boot-drools-rule-engine │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── rean │ │ │ │ ├── SpringBootDroolsRuleEngineApplication.java │ │ │ │ ├── config │ │ │ │ └── DroolsConfig.java │ │ │ │ ├── controller │ │ │ │ └── StudentController.java │ │ │ │ ├── dto │ │ │ │ ├── StudentRequest.java │ │ │ │ └── StudentResponse.java │ │ │ │ └── service │ │ │ │ └── StudentService.java │ │ └── resources │ │ │ ├── application.properties │ │ │ └── role │ │ │ └── student.drl │ │ └── test │ │ └── java │ │ └── com │ │ └── rean │ │ └── SpringBootDroolsRuleEngineApplicationTests.java ├── #6 calculate-income-tax │ ├── .DS_Store │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── rean │ │ │ │ ├── CalculateIncomeTaxApplication.java │ │ │ │ ├── IncomeTaxController.java │ │ │ │ ├── IncomeTaxRequest.java │ │ │ │ ├── IncomeTaxResponse.java │ │ │ │ └── IncomeTaxService.java │ │ └── resources │ │ │ └── application.properties │ │ └── test │ │ └── java │ │ └── com │ │ └── rean │ │ └── CalculateIncomeTaxApplicationTests.java ├── #7 Cambodia-Address-Rest-API │ ├── .dccache │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── rean │ │ │ │ ├── CambodiaAddressRestApiApplication.java │ │ │ │ ├── config │ │ │ │ ├── ApplicationConfiguration.java │ │ │ │ ├── LoadDistrictData.java │ │ │ │ └── LoadProvinceData.java │ │ │ │ ├── controller │ │ │ │ ├── AddressController.java │ │ │ │ └── ExcelController.java │ │ │ │ ├── dto │ │ │ │ ├── CommuneResponseDto.java │ │ │ │ ├── DistrictResponseDto.java │ │ │ │ ├── ProvinceResponseDto.java │ │ │ │ └── VillageResponseDto.java │ │ │ │ ├── exception │ │ │ │ ├── FileUploadExceptionAdvice.java │ │ │ │ └── ResponseMessage.java │ │ │ │ ├── model │ │ │ │ ├── Commune.java │ │ │ │ ├── District.java │ │ │ │ ├── Province.java │ │ │ │ └── Village.java │ │ │ │ ├── repository │ │ │ │ ├── CommuneRepository.java │ │ │ │ ├── DistrictRepository.java │ │ │ │ ├── ProvinceRepository.java │ │ │ │ └── VillageRepository.java │ │ │ │ ├── service │ │ │ │ ├── ExcelService.java │ │ │ │ └── VillageService.java │ │ │ │ └── utils │ │ │ │ ├── ExcelCommuneHelper.java │ │ │ │ └── ExcelVillageHelper.java │ │ └── resources │ │ │ ├── application.properties │ │ │ ├── commune.xlsx │ │ │ └── village.xlsx │ │ └── test │ │ └── java │ │ └── com │ │ └── rean │ │ └── CambodiaAddressRestApiApplicationTests.java ├── #8 multiple-file-upload │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── rean │ │ │ │ ├── MultipleFileUploadApplication.java │ │ │ │ ├── config │ │ │ │ └── ModelMapperConfig.java │ │ │ │ ├── controller │ │ │ │ └── MultipleFilesUploadController.java │ │ │ │ ├── dto │ │ │ │ └── FileUploadResponse.java │ │ │ │ ├── model │ │ │ │ └── FileUpload.java │ │ │ │ ├── repository │ │ │ │ └── FileUploadRepository.java │ │ │ │ └── service │ │ │ │ └── FileUploadService.java │ │ └── resources │ │ │ ├── 1024.png │ │ │ ├── 6.mp4 │ │ │ ├── 6.png │ │ │ └── application.yml │ │ └── test │ │ └── java │ │ └── com │ │ └── rean │ │ └── MultipleFileUploadApplicationTests.java └── .DS_Store ├── 1. Introduction To Spring Boot ├── #1 spring-boot-3-getting-started │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── rean │ │ │ │ ├── Employee.java │ │ │ │ ├── EmployeeMvcController.java │ │ │ │ ├── EmployeeRecordNotFoundException.java │ │ │ │ ├── EmployeeRepository.java │ │ │ │ ├── EmployeeService.java │ │ │ │ └── SpringBoot3GettingStartedApplication.java │ │ └── resources │ │ │ ├── application.yml │ │ │ └── templates │ │ │ ├── add-edit-employee.html │ │ │ └── list-employees.html │ │ └── test │ │ └── java │ │ └── com │ │ └── rean │ │ └── SpringBoot3GettingStartedApplicationTests.java ├── #2 spring-boot-3-first-view │ ├── .DS_Store │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ ├── .DS_Store │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── rean │ │ │ │ ├── CommandLineRunnerTest1.java │ │ │ │ ├── CommandLineRunnerTest2.java │ │ │ │ ├── CustomerApplicationServerPort.java │ │ │ │ ├── LoadingApplicationProperties.java │ │ │ │ └── SpringBoot3FirstViewApplication.java │ │ └── resources │ │ │ └── application.yml │ │ └── test │ │ └── java │ │ └── com │ │ └── rean │ │ └── SpringBoot3FirstViewApplicationTests.java ├── .DS_Store └── .idea │ ├── .gitignore │ ├── 1. Introduction To Spring Boot.iml │ ├── compiler.xml │ ├── encodings.xml │ ├── jarRepositories.xml │ ├── libraries │ ├── Maven__ch_qos_logback_logback_classic_1_4_5.xml │ ├── Maven__ch_qos_logback_logback_core_1_4_5.xml │ ├── Maven__com_fasterxml_classmate_1_5_1.xml │ ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_14_2.xml │ ├── Maven__com_fasterxml_jackson_core_jackson_core_2_14_2.xml │ ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_14_2.xml │ ├── Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_14_2.xml │ ├── Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_14_2.xml │ ├── Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_14_2.xml │ ├── Maven__com_h2database_h2_2_1_214.xml │ ├── Maven__com_jayway_jsonpath_json_path_2_7_0.xml │ ├── Maven__com_sun_istack_istack_commons_runtime_4_1_1.xml │ ├── Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml │ ├── Maven__com_zaxxer_HikariCP_5_0_1.xml │ ├── Maven__io_micrometer_micrometer_commons_1_10_4.xml │ ├── Maven__io_micrometer_micrometer_observation_1_10_4.xml │ ├── Maven__jakarta_activation_jakarta_activation_api_2_1_1.xml │ ├── Maven__jakarta_annotation_jakarta_annotation_api_2_1_1.xml │ ├── Maven__jakarta_inject_jakarta_inject_api_2_0_0.xml │ ├── Maven__jakarta_persistence_jakarta_persistence_api_3_1_0.xml │ ├── Maven__jakarta_transaction_jakarta_transaction_api_2_0_1.xml │ ├── Maven__jakarta_xml_bind_jakarta_xml_bind_api_4_0_0.xml │ ├── Maven__net_bytebuddy_byte_buddy_1_12_23.xml │ ├── Maven__net_bytebuddy_byte_buddy_agent_1_12_23.xml │ ├── Maven__net_minidev_accessors_smart_2_4_8.xml │ ├── Maven__net_minidev_json_smart_2_4_8.xml │ ├── Maven__org_antlr_antlr4_runtime_4_10_1.xml │ ├── Maven__org_apache_logging_log4j_log4j_api_2_19_0.xml │ ├── Maven__org_apache_logging_log4j_log4j_to_slf4j_2_19_0.xml │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_core_10_1_5.xml │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_el_10_1_5.xml │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_websocket_10_1_5.xml │ ├── Maven__org_apiguardian_apiguardian_api_1_1_2.xml │ ├── Maven__org_aspectj_aspectjweaver_1_9_19.xml │ ├── Maven__org_assertj_assertj_core_3_23_1.xml │ ├── Maven__org_attoparser_attoparser_2_0_6_RELEASE.xml │ ├── Maven__org_eclipse_angus_angus_activation_2_0_0.xml │ ├── Maven__org_glassfish_jaxb_jaxb_core_4_0_2.xml │ ├── Maven__org_glassfish_jaxb_jaxb_runtime_4_0_2.xml │ ├── Maven__org_glassfish_jaxb_txw2_4_0_2.xml │ ├── Maven__org_hamcrest_hamcrest_2_2.xml │ ├── Maven__org_hibernate_common_hibernate_commons_annotations_6_0_6_Final.xml │ ├── Maven__org_hibernate_orm_hibernate_core_6_1_7_Final.xml │ ├── Maven__org_jboss_jandex_2_4_2_Final.xml │ ├── Maven__org_jboss_logging_jboss_logging_3_5_0_Final.xml │ ├── Maven__org_junit_jupiter_junit_jupiter_5_9_2.xml │ ├── Maven__org_junit_jupiter_junit_jupiter_api_5_9_2.xml │ ├── Maven__org_junit_jupiter_junit_jupiter_engine_5_9_2.xml │ ├── Maven__org_junit_jupiter_junit_jupiter_params_5_9_2.xml │ ├── Maven__org_junit_platform_junit_platform_commons_1_9_2.xml │ ├── Maven__org_junit_platform_junit_platform_engine_1_9_2.xml │ ├── Maven__org_mockito_mockito_core_4_8_1.xml │ ├── Maven__org_mockito_mockito_junit_jupiter_4_8_1.xml │ ├── Maven__org_objenesis_objenesis_3_2.xml │ ├── Maven__org_opentest4j_opentest4j_1_2_0.xml │ ├── Maven__org_ow2_asm_asm_9_1.xml │ ├── Maven__org_projectlombok_lombok_1_18_26.xml │ ├── Maven__org_skyscreamer_jsonassert_1_5_1.xml │ ├── Maven__org_slf4j_jul_to_slf4j_2_0_6.xml │ ├── Maven__org_slf4j_slf4j_api_2_0_6.xml │ ├── Maven__org_springframework_boot_spring_boot_3_0_3.xml │ ├── Maven__org_springframework_boot_spring_boot_3_0_4.xml │ ├── Maven__org_springframework_boot_spring_boot_autoconfigure_3_0_3.xml │ ├── Maven__org_springframework_boot_spring_boot_autoconfigure_3_0_4.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_3_0_3.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_3_0_4.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_aop_3_0_3.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_data_jpa_3_0_3.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_jdbc_3_0_3.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_json_3_0_3.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_json_3_0_4.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_logging_3_0_3.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_logging_3_0_4.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_test_3_0_3.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_test_3_0_4.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_thymeleaf_3_0_3.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_tomcat_3_0_3.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_tomcat_3_0_4.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_web_3_0_3.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_web_3_0_4.xml │ ├── Maven__org_springframework_boot_spring_boot_test_3_0_3.xml │ ├── Maven__org_springframework_boot_spring_boot_test_3_0_4.xml │ ├── Maven__org_springframework_boot_spring_boot_test_autoconfigure_3_0_3.xml │ ├── Maven__org_springframework_boot_spring_boot_test_autoconfigure_3_0_4.xml │ ├── Maven__org_springframework_data_spring_data_commons_3_0_2.xml │ ├── Maven__org_springframework_data_spring_data_jpa_3_0_2.xml │ ├── Maven__org_springframework_spring_aop_6_0_5.xml │ ├── Maven__org_springframework_spring_aop_6_0_6.xml │ ├── Maven__org_springframework_spring_aspects_6_0_5.xml │ ├── Maven__org_springframework_spring_beans_6_0_5.xml │ ├── Maven__org_springframework_spring_beans_6_0_6.xml │ ├── Maven__org_springframework_spring_context_6_0_5.xml │ ├── Maven__org_springframework_spring_context_6_0_6.xml │ ├── Maven__org_springframework_spring_core_6_0_5.xml │ ├── Maven__org_springframework_spring_core_6_0_6.xml │ ├── Maven__org_springframework_spring_expression_6_0_5.xml │ ├── Maven__org_springframework_spring_expression_6_0_6.xml │ ├── Maven__org_springframework_spring_jcl_6_0_5.xml │ ├── Maven__org_springframework_spring_jcl_6_0_6.xml │ ├── Maven__org_springframework_spring_jdbc_6_0_5.xml │ ├── Maven__org_springframework_spring_orm_6_0_5.xml │ ├── Maven__org_springframework_spring_test_6_0_5.xml │ ├── Maven__org_springframework_spring_test_6_0_6.xml │ ├── Maven__org_springframework_spring_tx_6_0_5.xml │ ├── Maven__org_springframework_spring_web_6_0_5.xml │ ├── Maven__org_springframework_spring_web_6_0_6.xml │ ├── Maven__org_springframework_spring_webmvc_6_0_5.xml │ ├── Maven__org_springframework_spring_webmvc_6_0_6.xml │ ├── Maven__org_thymeleaf_thymeleaf_3_1_1_RELEASE.xml │ ├── Maven__org_thymeleaf_thymeleaf_spring6_3_1_1_RELEASE.xml │ ├── Maven__org_unbescape_unbescape_1_1_6_RELEASE.xml │ ├── Maven__org_xmlunit_xmlunit_core_2_9_1.xml │ └── Maven__org_yaml_snakeyaml_1_33.xml │ ├── misc.xml │ ├── modules.xml │ └── vcs.xml ├── 2. Web Application with Spring Boot ├── #1 spring-boot-3-bean-config │ ├── .DS_Store │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ ├── .DS_Store │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── rean │ │ │ │ ├── DemoComponent.java │ │ │ │ ├── SpringBoot3BeanConfigApplication.java │ │ │ │ └── calculator │ │ │ │ ├── Addition.java │ │ │ │ ├── Calculator.java │ │ │ │ ├── Devision.java │ │ │ │ ├── Multiplication.java │ │ │ │ ├── Operation.java │ │ │ │ └── Subtraction.java │ │ └── resources │ │ │ └── application.properties │ │ └── test │ │ └── java │ │ └── com │ │ └── rean │ │ └── SpringBoot3BeanConfigApplicationTests.java ├── #1.1 spring-bean-scope │ ├── .DS_Store │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ ├── .DS_Store │ │ ├── main │ │ ├── .DS_Store │ │ ├── java │ │ │ ├── .DS_Store │ │ │ └── com │ │ │ │ ├── .DS_Store │ │ │ │ └── rean │ │ │ │ ├── ConsoleColors.java │ │ │ │ ├── Message.java │ │ │ │ └── SpringBeanScopeApplication.java │ │ └── resources │ │ │ └── application.properties │ │ └── test │ │ └── java │ │ └── com │ │ └── rean │ │ └── SpringBeanScopeApplicationTests.java ├── #2 spring-boot-3-web-app │ ├── .DS_Store │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ ├── .DS_Store │ │ ├── main │ │ ├── .DS_Store │ │ ├── java │ │ │ ├── .DS_Store │ │ │ └── com │ │ │ │ ├── .DS_Store │ │ │ │ └── rean │ │ │ │ ├── .DS_Store │ │ │ │ ├── SpringBoot3WebAppApplication.java │ │ │ │ ├── controller │ │ │ │ └── TodoController.java │ │ │ │ ├── execption │ │ │ │ └── TodoErrorException.java │ │ │ │ ├── model │ │ │ │ ├── Todo.java │ │ │ │ └── TodoBuilder.java │ │ │ │ ├── repository │ │ │ │ └── CommonRepository.java │ │ │ │ └── service │ │ │ │ └── TodoService.java │ │ └── resources │ │ │ └── application.properties │ │ └── test │ │ └── java │ │ └── com │ │ └── rean │ │ └── SpringBoot3WebAppApplicationTests.java └── .DS_Store ├── 3. Data Access with Spring ├── #1 spring boot jdbc-template │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── MavenWrapperDownloader.java │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── rean │ │ │ │ ├── ReanSpringBootApplication.java │ │ │ │ ├── dao │ │ │ │ ├── UserDao.java │ │ │ │ └── impl │ │ │ │ │ └── UserDaoImpl.java │ │ │ │ └── dto │ │ │ │ └── UserDto.java │ │ └── resources │ │ │ └── application.properties │ │ └── test │ │ └── java │ │ └── com │ │ └── rean │ │ └── ReanSpringBootApplicationTests.java ├── #10 spring-boot-graphql │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── Dockerfile │ ├── Graphiql Testing Note │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── rean │ │ │ │ ├── SpringBootGraphqlApplication.java │ │ │ │ ├── controller │ │ │ │ └── BookAuthorController.java │ │ │ │ ├── dto │ │ │ │ └── BookRequest.java │ │ │ │ ├── model │ │ │ │ ├── Author.java │ │ │ │ └── Book.java │ │ │ │ └── repository │ │ │ │ ├── AuthorRepository.java │ │ │ │ └── BookRepository.java │ │ └── resources │ │ │ ├── application.properties │ │ │ └── graphql │ │ │ └── schema.graphqls │ │ └── test │ │ └── java │ │ └── com │ │ └── rean │ │ └── SpringBootGraphqlApplicationTests.java ├── #2 spring-boot-3-jdbc │ ├── .DS_Store │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ ├── .DS_Store │ │ ├── main │ │ ├── .DS_Store │ │ ├── java │ │ │ └── com │ │ │ │ └── rean │ │ │ │ ├── SpringBoot3JdbcApplication.java │ │ │ │ ├── controller │ │ │ │ └── TodoController.java │ │ │ │ ├── exception │ │ │ │ └── TodoErrorException.java │ │ │ │ ├── model │ │ │ │ ├── Todo.java │ │ │ │ └── TodoBuilder.java │ │ │ │ ├── repository │ │ │ │ └── CommonRepository.java │ │ │ │ └── service │ │ │ │ └── TodoService.java │ │ └── resources │ │ │ ├── application.properties │ │ │ └── schema.sql │ │ └── test │ │ └── java │ │ └── com │ │ └── rean │ │ └── SpringBoot3JdbcApplicationTests.java ├── #3 spring-boot-3-data-jpa │ ├── .DS_Store │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ ├── .DS_Store │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── rean │ │ │ │ ├── SpringBoot3DataJpaApplication.java │ │ │ │ ├── controller │ │ │ │ └── TodoController.java │ │ │ │ ├── excpetion │ │ │ │ ├── ApiExceptionHandle.java │ │ │ │ ├── ErrorMessage.java │ │ │ │ └── ResourceNotFoundException.java │ │ │ │ ├── model │ │ │ │ └── Todo.java │ │ │ │ ├── repository │ │ │ │ └── TodoRepository.java │ │ │ │ └── service │ │ │ │ ├── TodoService.java │ │ │ │ └── impl │ │ │ │ └── TodoServiceImpl.java │ │ └── resources │ │ │ └── application.properties │ │ └── test │ │ └── java │ │ └── com │ │ └── rean │ │ └── SpringBoot3DataJpaApplicationTests.java ├── #4 spring-data-rest │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── Spring Data REST.postman_collection.json │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── rean │ │ │ │ ├── SpringDataRestApplication.java │ │ │ │ ├── model │ │ │ │ └── Book.java │ │ │ │ └── repository │ │ │ │ └── BookRepository.java │ │ └── resources │ │ │ └── application.properties │ │ └── test │ │ └── java │ │ └── com │ │ └── rean │ │ └── SpringDataRestApplicationTests.java ├── #5 Spring Data JPA │ ├── #1 spring-data-jpa │ │ ├── .gitignore │ │ ├── .mvn │ │ │ └── wrapper │ │ │ │ ├── MavenWrapperDownloader.java │ │ │ │ ├── maven-wrapper.jar │ │ │ │ └── maven-wrapper.properties │ │ ├── logs │ │ │ ├── app_log.log │ │ │ ├── app_log.log.2021-11-19.0.gz │ │ │ └── app_log.log.2021-11-20.0.gz │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── springdatajpa │ │ │ │ │ ├── SpringDataJpaApplication.java │ │ │ │ │ ├── model │ │ │ │ │ └── Book.java │ │ │ │ │ └── repository │ │ │ │ │ └── BookRepository.java │ │ │ └── resources │ │ │ │ └── application.properties │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── springdatajpa │ │ │ └── SpringDataJpaApplicationTests.java │ ├── #2 spring jpa one to one relationship │ │ ├── .gitignore │ │ ├── .mvn │ │ │ └── wrapper │ │ │ │ ├── MavenWrapperDownloader.java │ │ │ │ ├── maven-wrapper.jar │ │ │ │ └── maven-wrapper.properties │ │ ├── doc.txt │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── learnspring │ │ │ │ │ ├── LearnSpringApplication.java │ │ │ │ │ ├── controller │ │ │ │ │ └── StudentCourseController.java │ │ │ │ │ ├── dto │ │ │ │ │ ├── CourseDto.java │ │ │ │ │ └── StudentCourseDto.java │ │ │ │ │ ├── model │ │ │ │ │ ├── Course.java │ │ │ │ │ └── Student.java │ │ │ │ │ ├── repository │ │ │ │ │ ├── CourseRepository.java │ │ │ │ │ └── StudentRepository.java │ │ │ │ │ └── service │ │ │ │ │ └── StudentCourseService.java │ │ │ └── resources │ │ │ │ └── application.properties │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── learnspring │ │ │ └── LearnSpringApplicationTests.java │ ├── #3 spring-data-jpa-relationship │ │ ├── .dccache │ │ ├── .gitignore │ │ ├── .mvn │ │ │ └── wrapper │ │ │ │ ├── maven-wrapper.jar │ │ │ │ └── maven-wrapper.properties │ │ ├── doc │ │ │ ├── ERD.pgerd │ │ │ ├── ERD.png │ │ │ └── Spring Data JPA Relationship.postman_collection.json │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── rean │ │ │ │ │ ├── SpringDataJpaRelationshipApplication.java │ │ │ │ │ ├── configuration │ │ │ │ │ └── ApplicationConfiguration.java │ │ │ │ │ ├── controller │ │ │ │ │ └── ApplicationController.java │ │ │ │ │ ├── dto │ │ │ │ │ ├── AuthorRequestDto.java │ │ │ │ │ ├── BookAuthorResponseDto.java │ │ │ │ │ ├── BookRequestDto.java │ │ │ │ │ ├── BookResponseDto.java │ │ │ │ │ ├── CategoryRequestDto.java │ │ │ │ │ └── PhotoRequestDto.java │ │ │ │ │ ├── model │ │ │ │ │ ├── Author.java │ │ │ │ │ ├── Book.java │ │ │ │ │ ├── Category.java │ │ │ │ │ ├── PageClazz.java │ │ │ │ │ └── Photo.java │ │ │ │ │ ├── repository │ │ │ │ │ ├── AuthorRepository.java │ │ │ │ │ ├── BookRepository.java │ │ │ │ │ ├── CategoryRepository.java │ │ │ │ │ ├── PageClazzRepository.java │ │ │ │ │ └── PhotoRepository.java │ │ │ │ │ └── service │ │ │ │ │ ├── AuthorService.java │ │ │ │ │ ├── BookService.java │ │ │ │ │ ├── CategoryService.java │ │ │ │ │ ├── PhotoService.java │ │ │ │ │ └── impl │ │ │ │ │ ├── AuthorServiceImpl.java │ │ │ │ │ ├── BookServiceImpl.java │ │ │ │ │ ├── CategoryServiceImpl.java │ │ │ │ │ └── PhotoServiceImpl.java │ │ │ └── resources │ │ │ │ └── application.properties │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── rean │ │ │ └── SpringDataJpaRelationshipApplicationTests.java │ └── .DS_Store ├── #6 Spring-Boot-Data-Redis │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── doc │ │ └── TESTING.postman_collection.json │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── rean │ │ │ │ ├── SpringBootDataRedisApplication.java │ │ │ │ ├── config │ │ │ │ └── RedisConfig.java │ │ │ │ ├── controller │ │ │ │ └── EmployeeController.java │ │ │ │ ├── dto │ │ │ │ ├── Employee.java │ │ │ │ └── EmployeeIdReq.java │ │ │ │ └── service │ │ │ │ ├── EmployeeService.java │ │ │ │ └── impl │ │ │ │ └── EmployeeServiceImpl.java │ │ └── resources │ │ │ └── application.properties │ │ └── test │ │ └── java │ │ └── com │ │ └── rean │ │ └── SpringBootDataRedisApplicationTests.java ├── #7 spring-boot-redis-stack │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── rean │ │ │ │ ├── SpringBootRedisStackApplication.java │ │ │ │ ├── config │ │ │ │ ├── AppConfig.java │ │ │ │ └── RedisConfig.java │ │ │ │ ├── controller │ │ │ │ └── FakeApiController.java │ │ │ │ ├── data │ │ │ │ ├── Address.java │ │ │ │ ├── Name.java │ │ │ │ ├── Product.java │ │ │ │ ├── User.java │ │ │ │ └── UserListResp.java │ │ │ │ └── service │ │ │ │ └── FakeAPIService.java │ │ └── resources │ │ │ └── application.properties │ │ └── test │ │ └── java │ │ └── com │ │ └── rean │ │ └── SpringBootRedisStackApplicationTests.java ├── #8 spring-boot-data-redis-cache │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── rean │ │ │ │ ├── SpringBootDataRedisCacheApplication.java │ │ │ │ ├── config │ │ │ │ ├── AppConfig.java │ │ │ │ ├── AppLoadingData.java │ │ │ │ └── RedisConfig.java │ │ │ │ ├── controller │ │ │ │ └── EmployeeController.java │ │ │ │ ├── dto │ │ │ │ └── EmployeeDto.java │ │ │ │ ├── exception │ │ │ │ └── EmployeeExceptionNotFound.java │ │ │ │ ├── model │ │ │ │ └── Employee.java │ │ │ │ ├── repository │ │ │ │ └── EmployeeRepository.java │ │ │ │ └── service │ │ │ │ ├── EmployeeService.java │ │ │ │ └── impl │ │ │ │ └── EmployeeServiceImpl.java │ │ └── resources │ │ │ └── application.properties │ │ └── test │ │ └── java │ │ └── com │ │ └── rean │ │ └── SpringBootDataRedisCacheApplicationTests.java ├── #9 spring-boot-elasticsearch │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── rean │ │ │ │ ├── SppringBootElasticsearchApplication.java │ │ │ │ ├── controller │ │ │ │ └── ArticleController.java │ │ │ │ ├── model │ │ │ │ └── Article.java │ │ │ │ └── repository │ │ │ │ └── ArticleRepository.java │ │ └── resources │ │ │ └── application.yml │ │ └── test │ │ └── java │ │ └── com │ │ └── rean │ │ └── SppringBootElasticsearchApplicationTests.java └── .DS_Store ├── 4. Security with Spring Boot ├── #1 spring-boot-3-security │ ├── .DS_Store │ ├── .idea │ │ ├── .gitignore │ │ ├── compiler.xml │ │ ├── encodings.xml │ │ ├── jarRepositories.xml │ │ ├── misc.xml │ │ └── uiDesigner.xml │ ├── pom.xml │ ├── rest-api │ │ ├── .DS_Store │ │ ├── pom.xml │ │ ├── src │ │ │ └── main │ │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── rean │ │ │ │ ├── AuthenticationRequest.java │ │ │ │ ├── AuthenticationResponse.java │ │ │ │ ├── User.java │ │ │ │ └── UserController.java │ │ └── target │ │ │ └── classes │ │ │ └── com │ │ │ └── rean │ │ │ ├── AuthenticationRequest.class │ │ │ ├── AuthenticationResponse.class │ │ │ ├── User.class │ │ │ └── UserController.class │ ├── security-database-config │ │ ├── .DS_Store │ │ ├── pom.xml │ │ ├── src │ │ │ └── main │ │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── rean │ │ │ │ │ ├── SecurityDatabaseApplication.java │ │ │ │ │ ├── config │ │ │ │ │ ├── AppConfig.java │ │ │ │ │ └── SecurityConfig.java │ │ │ │ │ ├── controller │ │ │ │ │ ├── AuthenticationController.java │ │ │ │ │ ├── PublicController.java │ │ │ │ │ └── TodoController.java │ │ │ │ │ ├── model │ │ │ │ │ ├── Role.java │ │ │ │ │ ├── User.java │ │ │ │ │ └── UserRole.java │ │ │ │ │ ├── repository │ │ │ │ │ ├── RoleRepository.java │ │ │ │ │ └── UserRepository.java │ │ │ │ │ └── service │ │ │ │ │ ├── UserDetailService.java │ │ │ │ │ └── UserService.java │ │ │ │ └── resources │ │ │ │ └── application.yml │ │ └── target │ │ │ └── classes │ │ │ ├── application.yml │ │ │ └── com │ │ │ └── rean │ │ │ ├── SecurityDatabaseApplication.class │ │ │ ├── config │ │ │ ├── AppConfig.class │ │ │ └── SecurityConfig.class │ │ │ ├── controller │ │ │ ├── AuthenticationController.class │ │ │ ├── PublicController.class │ │ │ └── TodoController.class │ │ │ ├── model │ │ │ ├── Role$RoleBuilder.class │ │ │ ├── Role.class │ │ │ ├── User$UserBuilder.class │ │ │ ├── User.class │ │ │ └── UserRole.class │ │ │ ├── repository │ │ │ ├── RoleRepository.class │ │ │ └── UserRepository.class │ │ │ └── service │ │ │ ├── UserDetailService.class │ │ │ └── UserService.class │ ├── security-default-config │ │ ├── .DS_Store │ │ ├── pom.xml │ │ ├── src │ │ │ └── main │ │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── rean │ │ │ │ │ └── SecurityApplication.java │ │ │ │ └── resources │ │ │ │ └── application.yml │ │ └── target │ │ │ └── classes │ │ │ ├── application.yml │ │ │ └── com │ │ │ └── rean │ │ │ └── SecurityApplication.class │ └── security-inmemory-config │ │ ├── .DS_Store │ │ ├── pom.xml │ │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── rean │ │ │ │ ├── InMemorySecurityConfig.java │ │ │ │ └── SecurityInMemoryApplication.java │ │ │ └── resources │ │ │ └── application.yml │ │ └── target │ │ └── classes │ │ ├── application.yml │ │ └── com │ │ └── rean │ │ ├── InMemorySecurityConfig.class │ │ └── SecurityInMemoryApplication.class ├── #2 spring-security-jwt-authorization │ ├── .DS_Store │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ ├── .DS_Store │ │ ├── main │ │ ├── .DS_Store │ │ ├── java │ │ │ └── com │ │ │ │ └── rean │ │ │ │ ├── SpringSecurityJwtAuthorizationApplication.java │ │ │ │ ├── config │ │ │ │ ├── AppConfig.java │ │ │ │ └── CustomSecurityFilterChain.java │ │ │ │ ├── constant │ │ │ │ └── Constant.java │ │ │ │ ├── controller │ │ │ │ ├── AdminController.java │ │ │ │ ├── PublicController.java │ │ │ │ └── UserController.java │ │ │ │ ├── dto │ │ │ │ ├── AuthenticationRequest.java │ │ │ │ ├── AuthenticationResponse.java │ │ │ │ ├── ResponseErrorTemplate.java │ │ │ │ ├── UserRequest.java │ │ │ │ └── UserResponse.java │ │ │ │ ├── exception │ │ │ │ ├── CustomAccessDeniedHandler.java │ │ │ │ ├── CustomErrorException.java │ │ │ │ └── CustomMessageException.java │ │ │ │ ├── filter │ │ │ │ ├── CustomAuthenticationProvider.java │ │ │ │ ├── CustomCorsFilter.java │ │ │ │ ├── JwtAuthenticationFilter.java │ │ │ │ └── JwtAuthenticationInternalFilter.java │ │ │ │ ├── jwt │ │ │ │ ├── JwtConfig.java │ │ │ │ ├── JwtService.java │ │ │ │ └── impl │ │ │ │ │ └── JwtServiceImpl.java │ │ │ │ ├── model │ │ │ │ ├── Role.java │ │ │ │ └── User.java │ │ │ │ ├── repository │ │ │ │ ├── RoleRepository.java │ │ │ │ └── UserRepository.java │ │ │ │ ├── security │ │ │ │ ├── CustomUserDetail.java │ │ │ │ └── CustomUserDetailService.java │ │ │ │ ├── service │ │ │ │ ├── UserService.java │ │ │ │ └── impl │ │ │ │ │ └── UserServiceImpl.java │ │ │ │ └── utils │ │ │ │ └── CustomMessageExceptionUtils.java │ │ └── resources │ │ │ └── application.yml │ │ └── test │ │ └── java │ │ └── com │ │ └── rean │ │ └── SpringSecurityJwtAuthorizationApplicationTests.java ├── .DS_Store └── Security with Spring Boot.postman_collection.json ├── 5. Messaging with Spring Boot ├── .DS_Store ├── kafka-message-with-spring-boot-3 │ ├── .DS_Store │ ├── .idea │ │ ├── .gitignore │ │ ├── compiler.xml │ │ ├── encodings.xml │ │ ├── jarRepositories.xml │ │ ├── misc.xml │ │ └── uiDesigner.xml │ ├── consumer-services │ │ ├── .DS_Store │ │ ├── pom.xml │ │ ├── src │ │ │ └── main │ │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── rean │ │ │ │ │ ├── ConsumerServiceApplication.java │ │ │ │ │ ├── config │ │ │ │ │ └── ConsumerKafkaConfig.java │ │ │ │ │ ├── dto │ │ │ │ │ └── NotificationRequest.java │ │ │ │ │ ├── model │ │ │ │ │ └── Notification.java │ │ │ │ │ ├── repository │ │ │ │ │ └── NotificationRepository.java │ │ │ │ │ └── service │ │ │ │ │ └── NotificationConsumerService.java │ │ │ │ └── resources │ │ │ │ └── application.yml │ │ └── target │ │ │ └── classes │ │ │ ├── application.yml │ │ │ └── com │ │ │ └── rean │ │ │ ├── ConsumerServiceApplication.class │ │ │ ├── config │ │ │ ├── ConsumerKafkaConfig$1.class │ │ │ └── ConsumerKafkaConfig.class │ │ │ ├── dto │ │ │ ├── NotificationRequest$NotificationRequestBuilder.class │ │ │ └── NotificationRequest.class │ │ │ ├── model │ │ │ ├── Notification$NotificationBuilder.class │ │ │ └── Notification.class │ │ │ ├── repository │ │ │ └── NotificationRepository.class │ │ │ └── service │ │ │ └── NotificationConsumerService.class │ ├── docker-compose.yml │ ├── pom.xml │ └── producer-service │ │ ├── .DS_Store │ │ ├── pom.xml │ │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── rean │ │ │ │ ├── ProducerServiceApplication.java │ │ │ │ ├── config │ │ │ │ ├── KafkaTopConfig.java │ │ │ │ └── ProducerKafkaConfig.java │ │ │ │ ├── controller │ │ │ │ └── NotificationController.java │ │ │ │ └── dto │ │ │ │ └── NotificationRequest.java │ │ │ └── resources │ │ │ └── application.yml │ │ └── target │ │ └── classes │ │ ├── application.yml │ │ └── com │ │ └── rean │ │ ├── ProducerServiceApplication.class │ │ ├── config │ │ ├── KafkaTopConfig.class │ │ ├── ProducerKafkaConfig$1.class │ │ ├── ProducerKafkaConfig$2.class │ │ └── ProducerKafkaConfig.class │ │ ├── controller │ │ └── NotificationController.class │ │ └── dto │ │ ├── NotificationRequest$NotificationRequestBuilder.class │ │ └── NotificationRequest.class └── rabbitmq-message-with-spring-boot-3 │ ├── .DS_Store │ ├── .gitignore │ ├── .mvn │ └── wrapper │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── docker-compose.yml │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ ├── .DS_Store │ ├── main │ ├── java │ │ └── com │ │ │ └── rean │ │ │ ├── RabbitmqMessageWithSpringBoot3Application.java │ │ │ ├── config │ │ │ ├── NotificationConsumer.java │ │ │ ├── RabbitMQProducer.java │ │ │ └── RabbitMqConfig.java │ │ │ ├── controller │ │ │ └── NotificationController.java │ │ │ ├── dto │ │ │ └── NotificationRequest.java │ │ │ ├── model │ │ │ └── Notification.java │ │ │ ├── repository │ │ │ └── NotificationRepository.java │ │ │ └── service │ │ │ └── NotificationProducer.java │ └── resources │ │ └── application.yml │ └── test │ └── java │ └── com │ └── rean │ └── RabbitmqMessageWithSpringBoot3ApplicationTests.java ├── 7. Spring Integration and Spring Cloud ├── #1 reload-spring-application │ ├── .dccache │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── rean │ │ │ │ ├── GracefulShutdown.java │ │ │ │ ├── ReloadSpringApplication.java │ │ │ │ ├── RestartController.java │ │ │ │ └── TestRestartApplication.java │ │ └── resources │ │ │ └── application.properties │ │ └── test │ │ └── java │ │ └── com │ │ └── rean │ │ └── ReloadSpringApplicationTests.java ├── #2 spring-cloud-sleuth-zipkin │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── Course REST API.postman_collection.json │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── rean │ │ │ │ ├── SpringCloudSleuthZipkinApplication.java │ │ │ │ ├── controller │ │ │ │ └── CourseController.java │ │ │ │ ├── dto │ │ │ │ ├── request │ │ │ │ │ ├── CourseFilterRequest.java │ │ │ │ │ ├── CourseRequest.java │ │ │ │ │ └── PaginationRequest.java │ │ │ │ └── response │ │ │ │ │ ├── CourseResponse.java │ │ │ │ │ ├── CourseResponsePagination.java │ │ │ │ │ └── PaginationResponse.java │ │ │ │ ├── exception │ │ │ │ ├── ControllerAdvisor.java │ │ │ │ ├── CourseNotFoundException.java │ │ │ │ ├── MyIllegalArgumentException.java │ │ │ │ └── NoDataFoundException.java │ │ │ │ ├── model │ │ │ │ └── Course.java │ │ │ │ ├── repository │ │ │ │ └── CourseRepository.java │ │ │ │ └── service │ │ │ │ ├── CourseService.java │ │ │ │ └── impl │ │ │ │ └── CourseServiceImpl.java │ │ └── resources │ │ │ └── application.properties │ │ └── test │ │ └── java │ │ └── com │ │ └── rean │ │ └── SpringCloudSleuthZipkinApplicationTests.java └── .DS_Store ├── Java Spring Configuration.md ├── README.md ├── application.yml └── microservices with spring boot 3 ├── .DS_Store ├── .idea ├── .gitignore ├── compiler.xml ├── encodings.xml ├── jarRepositories.xml ├── misc.xml └── uiDesigner.xml ├── api-gateway ├── .DS_Store ├── pom.xml ├── src │ └── main │ │ ├── java │ │ └── com │ │ │ └── rean │ │ │ └── apigateway │ │ │ └── ApiGatewayApplication.java │ │ └── resources │ │ ├── application.yml │ │ └── banner.txt └── target │ ├── .DS_Store │ └── classes │ ├── application.yml │ ├── banner.txt │ └── com │ └── rean │ └── apigateway │ ├── ApiGatewayApplication 2.class │ └── ApiGatewayApplication.class ├── clients ├── .DS_Store ├── pom.xml ├── src │ └── main │ │ ├── java │ │ └── com │ │ │ └── rean │ │ │ └── clients │ │ │ ├── fraud │ │ │ ├── FraudCheckResponse.java │ │ │ ├── FraudClient.java │ │ │ └── FraudRequest.java │ │ │ └── notification │ │ │ ├── NotificationClient.java │ │ │ └── NotificationRequest.java │ │ └── resources │ │ └── client.default.properties └── target │ ├── .DS_Store │ └── classes │ ├── client.default.properties │ └── com │ └── rean │ └── clients │ ├── fraud │ ├── FraudCheckResponse 2.class │ ├── FraudCheckResponse.class │ ├── FraudClient.class │ └── FraudRequest.class │ └── notification │ ├── NotificationClient 2.class │ ├── NotificationClient.class │ ├── NotificationRequest$NotificationRequestBuilder.class │ └── NotificationRequest.class ├── config-server ├── .DS_Store ├── pom.xml ├── src │ └── main │ │ ├── java │ │ └── com │ │ │ └── rean │ │ │ └── ConfigServerApplication.java │ │ └── resources │ │ ├── application.yml │ │ ├── bootstrap.yml │ │ └── config │ │ ├── README.MD │ │ ├── customer-services │ │ ├── customer-services-dev.yml │ │ └── customer-services-uat.yml │ │ └── fraud-services │ │ └── fraud-services-dev.yml └── target │ └── classes │ ├── application.yml │ ├── bootstrap.yml │ ├── com │ └── rean │ │ └── ConfigServerApplication.class │ └── config │ ├── README.MD │ ├── customer-services │ ├── customer-services-dev.yml │ └── customer-services-uat.yml │ └── fraud-services │ └── fraud-services-dev.yml ├── customer-services ├── .DS_Store ├── pom.xml ├── src │ └── main │ │ ├── java │ │ └── com │ │ │ └── rean │ │ │ └── customer │ │ │ ├── CustomerApplication.java │ │ │ ├── config │ │ │ ├── AppConfig.java │ │ │ ├── KafkaProducerConfig.java │ │ │ └── KafkaTopConfig.java │ │ │ ├── controller │ │ │ └── CustomerController.java │ │ │ ├── data │ │ │ └── CustomerRegistrationRequest.java │ │ │ ├── model │ │ │ └── Customer.java │ │ │ ├── repository │ │ │ └── CustomerRepository.java │ │ │ └── service │ │ │ └── CustomerService.java │ │ └── resources │ │ ├── application.yml │ │ └── banner.txt └── target │ └── classes │ ├── application.yml │ ├── banner 2.txt │ ├── banner.txt │ └── com │ └── rean │ └── customer │ ├── CustomerApplication.class │ ├── config │ ├── AppConfig 2.class │ ├── AppConfig.class │ ├── KafkaProducerConfig$1.class │ ├── KafkaProducerConfig$2.class │ ├── KafkaProducerConfig.class │ └── KafkaTopConfig.class │ ├── controller │ ├── CustomerController 2.class │ └── CustomerController.class │ ├── data │ ├── CustomerRegistrationRequest 2.class │ └── CustomerRegistrationRequest.class │ ├── model │ ├── Customer 2.class │ ├── Customer$CustomerBuilder.class │ └── Customer.class │ ├── repository │ ├── CustomerRepository 2.class │ └── CustomerRepository.class │ └── service │ ├── CustomerService 2.class │ └── CustomerService.class ├── docker-compose.yml ├── eureka-server ├── .DS_Store ├── pom.xml ├── src │ └── main │ │ ├── java │ │ └── com │ │ │ └── rean │ │ │ └── eurekaserver │ │ │ └── EurekaServerApplication.java │ │ └── resources │ │ ├── application.yml │ │ └── banner.txt └── target │ ├── .DS_Store │ └── classes │ ├── application.yml │ ├── banner 2.txt │ ├── banner.txt │ └── com │ └── rean │ └── eurekaserver │ ├── EurekaServerApplication 2.class │ └── EurekaServerApplication.class ├── fraud-services ├── .DS_Store ├── pom.xml ├── src │ └── main │ │ ├── java │ │ └── com │ │ │ └── rean │ │ │ └── fraud │ │ │ ├── FraudApplication.java │ │ │ ├── controller │ │ │ └── FraudController.java │ │ │ ├── model │ │ │ └── FraudCustomerCheck.java │ │ │ ├── repository │ │ │ └── FraudCustomerCheckRepository.java │ │ │ └── service │ │ │ └── FraudCheckCustomerService.java │ │ └── resources │ │ ├── application.yml │ │ └── banner.txt └── target │ └── classes │ ├── application.yml │ ├── banner 2.txt │ ├── banner.txt │ └── com │ └── rean │ └── fraud │ ├── FraudApplication.class │ ├── controller │ ├── FraudController 2.class │ └── FraudController.class │ ├── model │ ├── FraudCustomerCheck 2.class │ ├── FraudCustomerCheck$FraudCustomerCheckBuilder.class │ └── FraudCustomerCheck.class │ ├── repository │ ├── FraudCustomerCheckRepository 2.class │ └── FraudCustomerCheckRepository.class │ └── service │ ├── FraudCheckCustomerService 2.class │ └── FraudCheckCustomerService.class ├── logs ├── customer-services.log ├── fraud-services.log └── notification-services.log ├── notification-services ├── .DS_Store ├── pom.xml ├── src │ └── main │ │ ├── java │ │ └── com │ │ │ └── rean │ │ │ └── notification │ │ │ ├── NotificationApplication.java │ │ │ ├── config │ │ │ ├── KafkaConsumerConfig.java │ │ │ └── NotificationConfig.java │ │ │ ├── consumer │ │ │ ├── KafkaNotificationConsumer.java │ │ │ └── NotificationConsumer.java │ │ │ ├── controller │ │ │ └── NotificationController.java │ │ │ ├── model │ │ │ └── Notification.java │ │ │ ├── repository │ │ │ └── NotificationRepository.java │ │ │ └── service │ │ │ └── NotificationService.java │ │ └── resources │ │ └── application.yml └── target │ ├── .DS_Store │ └── classes │ ├── application 2.yml │ ├── application.yml │ └── com │ └── rean │ └── notification │ ├── NotificationApplication.class │ ├── config │ ├── KafkaConsumerConfig 2.class │ ├── KafkaConsumerConfig$1.class │ ├── KafkaConsumerConfig.class │ └── NotificationConfig.class │ ├── consumer │ ├── KafkaNotificationConsumer 2.class │ ├── KafkaNotificationConsumer.class │ └── NotificationConsumer.class │ ├── controller │ ├── NotificationController 2.class │ └── NotificationController.class │ ├── model │ ├── Notification$NotificationBuilder 2.class │ ├── Notification$NotificationBuilder.class │ └── Notification.class │ ├── repository │ ├── NotificationRepository 2.class │ └── NotificationRepository.class │ └── service │ ├── NotificationService 2.class │ └── NotificationService.class ├── pom.xml └── rabbitmq ├── .DS_Store ├── pom.xml ├── src └── main │ └── java │ └── com │ └── rean │ └── rabbitmq │ ├── RabbitMQConfig.java │ └── RabbitMQMessageProducer.java └── target └── classes └── com └── rean └── rabbitmq ├── RabbitMQConfig 2.class ├── RabbitMQConfig.class ├── RabbitMQMessageProducer 2.class └── RabbitMQMessageProducer.class /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/.DS_Store -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/rean-spring-framework.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.compile.nullAnalysis.mode": "automatic" 3 | } -------------------------------------------------------------------------------- /0. Spring Framework Tips/#1 fix-jetty-with-spring-boot-3/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/**/target/ 5 | !**/src/test/**/target/ 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | !**/src/main/**/build/ 30 | !**/src/test/**/build/ 31 | 32 | ### VS Code ### 33 | .vscode/ 34 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#1 fix-jetty-with-spring-boot-3/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/0. Spring Framework Tips/#1 fix-jetty-with-spring-boot-3/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /0. Spring Framework Tips/#1 fix-jetty-with-spring-boot-3/src/main/java/com/rean/FixJettyWithSpringBoot3Application.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class FixJettyWithSpringBoot3Application { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(FixJettyWithSpringBoot3Application.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#1 fix-jetty-with-spring-boot-3/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#1 fix-jetty-with-spring-boot-3/src/test/java/com/rean/FixJettyWithSpringBoot3ApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class FixJettyWithSpringBoot3ApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#2 generic-rest-controller/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/**/target/ 5 | !**/src/test/**/target/ 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | !**/src/main/**/build/ 30 | !**/src/test/**/build/ 31 | 32 | ### VS Code ### 33 | .vscode/ 34 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#2 generic-rest-controller/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/0. Spring Framework Tips/#2 generic-rest-controller/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /0. Spring Framework Tips/#2 generic-rest-controller/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar 3 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#2 generic-rest-controller/images/Generic Rest Controller.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/0. Spring Framework Tips/#2 generic-rest-controller/images/Generic Rest Controller.png -------------------------------------------------------------------------------- /0. Spring Framework Tips/#2 generic-rest-controller/src/main/java/com/rean/GenericRestControllerApplication.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class GenericRestControllerApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(GenericRestControllerApplication.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#2 generic-rest-controller/src/main/java/com/rean/generic/GenericEntity.java: -------------------------------------------------------------------------------- 1 | package com.rean.generic; 2 | 3 | public interface GenericEntity { 4 | 5 | void update(T source); 6 | 7 | Long getId(); 8 | 9 | T createNewInstance(); 10 | } 11 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#2 generic-rest-controller/src/main/java/com/rean/generic/GenericRepository.java: -------------------------------------------------------------------------------- 1 | package com.rean.generic; 2 | 3 | import org.springframework.data.jpa.repository.JpaRepository; 4 | import org.springframework.data.repository.NoRepositoryBean; 5 | 6 | @NoRepositoryBean 7 | public interface GenericRepository > extends JpaRepository { 8 | } 9 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#2 generic-rest-controller/src/main/java/com/rean/repository/BookRepository.java: -------------------------------------------------------------------------------- 1 | package com.rean.repository; 2 | 3 | import com.rean.generic.GenericRepository; 4 | import com.rean.model.Book; 5 | 6 | public interface BookRepository extends GenericRepository { 7 | } 8 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#2 generic-rest-controller/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#2 generic-rest-controller/src/test/java/com/rean/GenericRestControllerApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class GenericRestControllerApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#3 spring-boot-qr-code/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/**/target/ 5 | !**/src/test/**/target/ 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | !**/src/main/**/build/ 30 | !**/src/test/**/build/ 31 | 32 | ### VS Code ### 33 | .vscode/ 34 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#3 spring-boot-qr-code/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/0. Spring Framework Tips/#3 spring-boot-qr-code/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /0. Spring Framework Tips/#3 spring-boot-qr-code/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar 3 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#3 spring-boot-qr-code/src/main/java/com/rean/SpringBootQrCodeApplication.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class SpringBootQrCodeApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(SpringBootQrCodeApplication.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#3 spring-boot-qr-code/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#3 spring-boot-qr-code/src/main/resources/templates/qrcode.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | QR Code 6 | 7 | 15 | 16 | 17 |
18 | QR Code 19 |
20 | 21 | 22 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#3 spring-boot-qr-code/src/test/java/com/rean/SpringBootQrCodeApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class SpringBootQrCodeApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#4 spring-boot-rating-limit/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/**/target/ 5 | !**/src/test/**/target/ 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | !**/src/main/**/build/ 30 | !**/src/test/**/build/ 31 | 32 | ### VS Code ### 33 | .vscode/ 34 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#4 spring-boot-rating-limit/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/0. Spring Framework Tips/#4 spring-boot-rating-limit/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /0. Spring Framework Tips/#4 spring-boot-rating-limit/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar 3 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#4 spring-boot-rating-limit/src/main/java/com/rean/repository/PostRepository.java: -------------------------------------------------------------------------------- 1 | package com.rean.repository; 2 | 3 | import com.rean.model.Post; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | 8 | @Repository 9 | public interface PostRepository extends JpaRepository { 10 | } 11 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#4 spring-boot-rating-limit/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | user.type=GOLD 2 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#4 spring-boot-rating-limit/src/test/java/com/rean/SpringBootRatingLimitApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class SpringBootRatingLimitApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#5 spring-boot-drools-rule-engine/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/0. Spring Framework Tips/#5 spring-boot-drools-rule-engine/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /0. Spring Framework Tips/#5 spring-boot-drools-rule-engine/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.4/apache-maven-3.8.4-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar 3 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#5 spring-boot-drools-rule-engine/src/main/java/com/rean/SpringBootDroolsRuleEngineApplication.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class SpringBootDroolsRuleEngineApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(SpringBootDroolsRuleEngineApplication.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#5 spring-boot-drools-rule-engine/src/main/java/com/rean/dto/StudentRequest.java: -------------------------------------------------------------------------------- 1 | package com.rean.dto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty; 4 | import lombok.Data; 5 | 6 | /** 7 | * @Author dawnt 8 | * @Date 4/2/2022 9:23 AM 9 | * @Version 1.0 10 | */ 11 | @Data 12 | public class StudentRequest { 13 | @JsonProperty("percentage_range") 14 | private double percentageRange; 15 | } 16 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#5 spring-boot-drools-rule-engine/src/main/java/com/rean/dto/StudentResponse.java: -------------------------------------------------------------------------------- 1 | package com.rean.dto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty; 4 | import lombok.Data; 5 | 6 | /** 7 | * @Author dawnt 8 | * @Date 4/2/2022 9:31 AM 9 | * @Version 1.0 10 | */ 11 | @Data 12 | public class StudentResponse { 13 | 14 | @JsonProperty("grade") 15 | private String grade; 16 | 17 | @JsonProperty("gpa") 18 | private double gpa; 19 | 20 | @JsonProperty("desc") 21 | private String desc; 22 | } 23 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#5 spring-boot-drools-rule-engine/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#5 spring-boot-drools-rule-engine/src/test/java/com/rean/SpringBootDroolsRuleEngineApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class SpringBootDroolsRuleEngineApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#6 calculate-income-tax/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/0. Spring Framework Tips/#6 calculate-income-tax/.DS_Store -------------------------------------------------------------------------------- /0. Spring Framework Tips/#6 calculate-income-tax/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/**/target/ 5 | !**/src/test/**/target/ 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | !**/src/main/**/build/ 30 | !**/src/test/**/build/ 31 | 32 | ### VS Code ### 33 | .vscode/ 34 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#6 calculate-income-tax/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/0. Spring Framework Tips/#6 calculate-income-tax/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /0. Spring Framework Tips/#6 calculate-income-tax/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.4/apache-maven-3.8.4-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar 3 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#6 calculate-income-tax/src/main/java/com/rean/CalculateIncomeTaxApplication.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class CalculateIncomeTaxApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(CalculateIncomeTaxApplication.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#6 calculate-income-tax/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#6 calculate-income-tax/src/test/java/com/rean/CalculateIncomeTaxApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class CalculateIncomeTaxApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#7 Cambodia-Address-Rest-API/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/**/target/ 5 | !**/src/test/**/target/ 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | !**/src/main/**/build/ 30 | !**/src/test/**/build/ 31 | 32 | ### VS Code ### 33 | .vscode/ 34 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#7 Cambodia-Address-Rest-API/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/0. Spring Framework Tips/#7 Cambodia-Address-Rest-API/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /0. Spring Framework Tips/#7 Cambodia-Address-Rest-API/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.4/apache-maven-3.8.4-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar 3 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#7 Cambodia-Address-Rest-API/src/main/java/com/rean/CambodiaAddressRestApiApplication.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class CambodiaAddressRestApiApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(CambodiaAddressRestApiApplication.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#7 Cambodia-Address-Rest-API/src/main/java/com/rean/config/ApplicationConfiguration.java: -------------------------------------------------------------------------------- 1 | package com.rean.config; 2 | 3 | import org.modelmapper.ModelMapper; 4 | import org.springframework.context.annotation.Bean; 5 | import org.springframework.context.annotation.Configuration; 6 | 7 | @Configuration 8 | public class ApplicationConfiguration { 9 | 10 | @Bean 11 | public ModelMapper modelMapper() { 12 | return new ModelMapper(); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#7 Cambodia-Address-Rest-API/src/main/java/com/rean/dto/DistrictResponseDto.java: -------------------------------------------------------------------------------- 1 | package com.rean.dto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty; 4 | import lombok.Getter; 5 | import lombok.Setter; 6 | 7 | @Getter 8 | @Setter 9 | public class DistrictResponseDto{ 10 | 11 | @JsonProperty("id") 12 | private Long id; 13 | 14 | @JsonProperty("code") 15 | private String code; 16 | 17 | @JsonProperty("name_kh") 18 | private String khName; 19 | 20 | @JsonProperty("name_en") 21 | private String enName; 22 | } 23 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#7 Cambodia-Address-Rest-API/src/main/java/com/rean/dto/ProvinceResponseDto.java: -------------------------------------------------------------------------------- 1 | package com.rean.dto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty; 4 | import lombok.Getter; 5 | import lombok.Setter; 6 | 7 | @Getter 8 | @Setter 9 | public class ProvinceResponseDto { 10 | 11 | @JsonProperty("id") 12 | private Long id; 13 | 14 | @JsonProperty("code") 15 | private String code; 16 | 17 | @JsonProperty("name_kh") 18 | private String khName; 19 | 20 | @JsonProperty("name_en") 21 | private String enName; 22 | } 23 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#7 Cambodia-Address-Rest-API/src/main/java/com/rean/dto/VillageResponseDto.java: -------------------------------------------------------------------------------- 1 | package com.rean.dto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty; 4 | import lombok.Getter; 5 | import lombok.Setter; 6 | 7 | @Getter 8 | @Setter 9 | public class VillageResponseDto { 10 | 11 | @JsonProperty("id") 12 | private Long id; 13 | 14 | @JsonProperty("code") 15 | private String code; 16 | 17 | @JsonProperty("name_kh") 18 | private String khName; 19 | 20 | @JsonProperty("name_en") 21 | private String enName; 22 | } 23 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#7 Cambodia-Address-Rest-API/src/main/java/com/rean/exception/ResponseMessage.java: -------------------------------------------------------------------------------- 1 | package com.rean.exception; 2 | 3 | public class ResponseMessage { 4 | private String message; 5 | 6 | public ResponseMessage(String message) { 7 | this.message = message; 8 | } 9 | 10 | public String getMessage() { 11 | return message; 12 | } 13 | 14 | public void setMessage(String message) { 15 | this.message = message; 16 | } 17 | } -------------------------------------------------------------------------------- /0. Spring Framework Tips/#7 Cambodia-Address-Rest-API/src/main/java/com/rean/repository/CommuneRepository.java: -------------------------------------------------------------------------------- 1 | package com.rean.repository; 2 | 3 | import com.rean.model.Commune; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface CommuneRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#7 Cambodia-Address-Rest-API/src/main/java/com/rean/repository/DistrictRepository.java: -------------------------------------------------------------------------------- 1 | package com.rean.repository; 2 | 3 | import com.rean.model.District; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface DistrictRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#7 Cambodia-Address-Rest-API/src/main/java/com/rean/repository/ProvinceRepository.java: -------------------------------------------------------------------------------- 1 | package com.rean.repository; 2 | 3 | import com.rean.model.Province; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface ProvinceRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#7 Cambodia-Address-Rest-API/src/main/java/com/rean/repository/VillageRepository.java: -------------------------------------------------------------------------------- 1 | package com.rean.repository; 2 | 3 | import com.rean.model.Village; 4 | import org.springframework.data.repository.PagingAndSortingRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface VillageRepository extends PagingAndSortingRepository { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#7 Cambodia-Address-Rest-API/src/main/resources/commune.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/0. Spring Framework Tips/#7 Cambodia-Address-Rest-API/src/main/resources/commune.xlsx -------------------------------------------------------------------------------- /0. Spring Framework Tips/#7 Cambodia-Address-Rest-API/src/main/resources/village.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/0. Spring Framework Tips/#7 Cambodia-Address-Rest-API/src/main/resources/village.xlsx -------------------------------------------------------------------------------- /0. Spring Framework Tips/#7 Cambodia-Address-Rest-API/src/test/java/com/rean/CambodiaAddressRestApiApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class CambodiaAddressRestApiApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#8 multiple-file-upload/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/**/target/ 5 | !**/src/test/**/target/ 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | !**/src/main/**/build/ 30 | !**/src/test/**/build/ 31 | 32 | ### VS Code ### 33 | .vscode/ 34 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#8 multiple-file-upload/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/0. Spring Framework Tips/#8 multiple-file-upload/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /0. Spring Framework Tips/#8 multiple-file-upload/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar 3 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#8 multiple-file-upload/src/main/java/com/rean/MultipleFileUploadApplication.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class MultipleFileUploadApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(MultipleFileUploadApplication.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#8 multiple-file-upload/src/main/java/com/rean/config/ModelMapperConfig.java: -------------------------------------------------------------------------------- 1 | package com.rean.config; 2 | 3 | import org.modelmapper.ModelMapper; 4 | import org.springframework.context.annotation.Bean; 5 | import org.springframework.context.annotation.Configuration; 6 | 7 | @Configuration 8 | public class ModelMapperConfig { 9 | 10 | @Bean 11 | public ModelMapper modelMapper() { 12 | return new ModelMapper(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#8 multiple-file-upload/src/main/java/com/rean/repository/FileUploadRepository.java: -------------------------------------------------------------------------------- 1 | package com.rean.repository; 2 | 3 | import com.rean.model.FileUpload; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface FileUploadRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/#8 multiple-file-upload/src/main/resources/1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/0. Spring Framework Tips/#8 multiple-file-upload/src/main/resources/1024.png -------------------------------------------------------------------------------- /0. Spring Framework Tips/#8 multiple-file-upload/src/main/resources/6.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/0. Spring Framework Tips/#8 multiple-file-upload/src/main/resources/6.mp4 -------------------------------------------------------------------------------- /0. Spring Framework Tips/#8 multiple-file-upload/src/main/resources/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/0. Spring Framework Tips/#8 multiple-file-upload/src/main/resources/6.png -------------------------------------------------------------------------------- /0. Spring Framework Tips/#8 multiple-file-upload/src/test/java/com/rean/MultipleFileUploadApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class MultipleFileUploadApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /0. Spring Framework Tips/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/0. Spring Framework Tips/.DS_Store -------------------------------------------------------------------------------- /1. Introduction To Spring Boot/#1 spring-boot-3-getting-started/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/1. Introduction To Spring Boot/#1 spring-boot-3-getting-started/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /1. Introduction To Spring Boot/#1 spring-boot-3-getting-started/src/main/java/com/rean/EmployeeRepository.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.springframework.data.jpa.repository.JpaRepository; 4 | import org.springframework.stereotype.Repository; 5 | 6 | @Repository 7 | public interface EmployeeRepository extends JpaRepository { 8 | } 9 | -------------------------------------------------------------------------------- /1. Introduction To Spring Boot/#1 spring-boot-3-getting-started/src/main/java/com/rean/SpringBoot3GettingStartedApplication.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class SpringBoot3GettingStartedApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(SpringBoot3GettingStartedApplication.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /1. Introduction To Spring Boot/#1 spring-boot-3-getting-started/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | datasource: 3 | url: jdbc:h2:mem:mydb 4 | username: sa 5 | password: password 6 | driverClassName: org.h2.Driver 7 | jpa: 8 | database-platform: org.hibernate.dialect.H2Dialect 9 | hibernate: 10 | ddl-auto: update 11 | # enable h2 console on browser 12 | h2: 13 | console.enabled: true -------------------------------------------------------------------------------- /1. Introduction To Spring Boot/#1 spring-boot-3-getting-started/src/test/java/com/rean/SpringBoot3GettingStartedApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class SpringBoot3GettingStartedApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /1. Introduction To Spring Boot/#2 spring-boot-3-first-view/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/1. Introduction To Spring Boot/#2 spring-boot-3-first-view/.DS_Store -------------------------------------------------------------------------------- /1. Introduction To Spring Boot/#2 spring-boot-3-first-view/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/1. Introduction To Spring Boot/#2 spring-boot-3-first-view/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /1. Introduction To Spring Boot/#2 spring-boot-3-first-view/src/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/1. Introduction To Spring Boot/#2 spring-boot-3-first-view/src/.DS_Store -------------------------------------------------------------------------------- /1. Introduction To Spring Boot/#2 spring-boot-3-first-view/src/main/java/com/rean/CommandLineRunnerTest1.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.springframework.boot.CommandLineRunner; 4 | import org.springframework.stereotype.Component; 5 | 6 | @Component 7 | public class CommandLineRunnerTest1 implements CommandLineRunner { 8 | @Override 9 | public void run(String... args) throws Exception { 10 | System.out.println("Testing CommandLineRunner 1"); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /1. Introduction To Spring Boot/#2 spring-boot-3-first-view/src/main/java/com/rean/CommandLineRunnerTest2.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.springframework.boot.CommandLineRunner; 4 | import org.springframework.core.annotation.Order; 5 | import org.springframework.stereotype.Component; 6 | 7 | @Order(value = 2) 8 | @Component 9 | public class CommandLineRunnerTest2 implements CommandLineRunner { 10 | @Override 11 | public void run(String... args) throws Exception { 12 | System.out.println("Testing CommandLineRunner 2"); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /1. Introduction To Spring Boot/#2 spring-boot-3-first-view/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | server: 2 | # port: 8081 # we already custom with Java Config [CustomerApplicationServerPort] 3 | servlet: 4 | context-path: /basic-config 5 | 6 | spring: 7 | main: 8 | banner-mode: off 9 | 10 | 11 | my: 12 | app: app-code 13 | list: act,del,sup -------------------------------------------------------------------------------- /1. Introduction To Spring Boot/#2 spring-boot-3-first-view/src/test/java/com/rean/SpringBoot3FirstViewApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class SpringBoot3FirstViewApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /1. Introduction To Spring Boot/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/1. Introduction To Spring Boot/.DS_Store -------------------------------------------------------------------------------- /1. Introduction To Spring Boot/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | # Editor-based HTTP Client requests 5 | /httpRequests/ 6 | # Datasource local storage ignored files 7 | /dataSources/ 8 | /dataSources.local.xml 9 | -------------------------------------------------------------------------------- /1. Introduction To Spring Boot/.idea/1. Introduction To Spring Boot.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /1. Introduction To Spring Boot/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /1. Introduction To Spring Boot/.idea/libraries/Maven__com_h2database_h2_2_1_214.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /1. Introduction To Spring Boot/.idea/libraries/Maven__org_ow2_asm_asm_9_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /1. Introduction To Spring Boot/.idea/libraries/Maven__org_yaml_snakeyaml_1_33.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /1. Introduction To Spring Boot/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /1. Introduction To Spring Boot/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /2. Web Application with Spring Boot/#1 spring-boot-3-bean-config/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/2. Web Application with Spring Boot/#1 spring-boot-3-bean-config/.DS_Store -------------------------------------------------------------------------------- /2. Web Application with Spring Boot/#1 spring-boot-3-bean-config/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/2. Web Application with Spring Boot/#1 spring-boot-3-bean-config/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /2. Web Application with Spring Boot/#1 spring-boot-3-bean-config/src/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/2. Web Application with Spring Boot/#1 spring-boot-3-bean-config/src/.DS_Store -------------------------------------------------------------------------------- /2. Web Application with Spring Boot/#1 spring-boot-3-bean-config/src/main/java/com/rean/DemoComponent.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import jakarta.annotation.PostConstruct; 4 | import org.springframework.stereotype.Component; 5 | 6 | @Component // @SpringBootApplication or @ComponentScan detect all annotation @Component 7 | public class DemoComponent { 8 | 9 | @PostConstruct // is invoked after construction and injection of all dependencies 10 | public void printHelloWorld() { 11 | System.out.println("Hello World!"); 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /2. Web Application with Spring Boot/#1 spring-boot-3-bean-config/src/main/java/com/rean/calculator/Addition.java: -------------------------------------------------------------------------------- 1 | package com.rean.calculator; 2 | 3 | import org.springframework.stereotype.Component; 4 | 5 | @Component 6 | public class Addition implements Operation{ 7 | 8 | @Override 9 | public long apply(long num1, long num2) { 10 | return num1 + num2; 11 | } 12 | 13 | @Override 14 | public boolean handles(char operation) { 15 | return '+' == operation; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /2. Web Application with Spring Boot/#1 spring-boot-3-bean-config/src/main/java/com/rean/calculator/Devision.java: -------------------------------------------------------------------------------- 1 | package com.rean.calculator; 2 | 3 | import org.springframework.stereotype.Component; 4 | 5 | @Component 6 | public class Devision implements Operation{ 7 | 8 | @Override 9 | public long apply(long num1, long num2) { 10 | return num1 / num2; 11 | } 12 | 13 | @Override 14 | public boolean handles(char operation) { 15 | return '/' == operation; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /2. Web Application with Spring Boot/#1 spring-boot-3-bean-config/src/main/java/com/rean/calculator/Multiplication.java: -------------------------------------------------------------------------------- 1 | package com.rean.calculator; 2 | 3 | import org.springframework.stereotype.Component; 4 | 5 | @Component 6 | public class Multiplication implements Operation{ 7 | 8 | @Override 9 | public long apply(long num1, long num2) { 10 | return num1 * num2; 11 | } 12 | 13 | @Override 14 | public boolean handles(char operation) { 15 | return '*' == operation; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /2. Web Application with Spring Boot/#1 spring-boot-3-bean-config/src/main/java/com/rean/calculator/Operation.java: -------------------------------------------------------------------------------- 1 | package com.rean.calculator; 2 | 3 | public interface Operation { 4 | 5 | long apply(long num1, long num2); 6 | 7 | boolean handles(char operation); 8 | } 9 | -------------------------------------------------------------------------------- /2. Web Application with Spring Boot/#1 spring-boot-3-bean-config/src/main/java/com/rean/calculator/Subtraction.java: -------------------------------------------------------------------------------- 1 | package com.rean.calculator; 2 | 3 | import org.springframework.stereotype.Component; 4 | 5 | @Component 6 | public class Subtraction implements Operation{ 7 | 8 | @Override 9 | public long apply(long num1, long num2) { 10 | return num1 - num2; 11 | } 12 | 13 | @Override 14 | public boolean handles(char operation) { 15 | return '-' == operation; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /2. Web Application with Spring Boot/#1 spring-boot-3-bean-config/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /2. Web Application with Spring Boot/#1 spring-boot-3-bean-config/src/test/java/com/rean/SpringBoot3BeanConfigApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class SpringBoot3BeanConfigApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /2. Web Application with Spring Boot/#1.1 spring-bean-scope/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/2. Web Application with Spring Boot/#1.1 spring-bean-scope/.DS_Store -------------------------------------------------------------------------------- /2. Web Application with Spring Boot/#1.1 spring-bean-scope/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/2. Web Application with Spring Boot/#1.1 spring-bean-scope/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /2. Web Application with Spring Boot/#1.1 spring-bean-scope/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.4/apache-maven-3.8.4-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar 3 | -------------------------------------------------------------------------------- /2. Web Application with Spring Boot/#1.1 spring-bean-scope/src/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/2. Web Application with Spring Boot/#1.1 spring-bean-scope/src/.DS_Store -------------------------------------------------------------------------------- /2. Web Application with Spring Boot/#1.1 spring-bean-scope/src/main/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/2. Web Application with Spring Boot/#1.1 spring-bean-scope/src/main/.DS_Store -------------------------------------------------------------------------------- /2. Web Application with Spring Boot/#1.1 spring-bean-scope/src/main/java/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/2. Web Application with Spring Boot/#1.1 spring-bean-scope/src/main/java/.DS_Store -------------------------------------------------------------------------------- /2. Web Application with Spring Boot/#1.1 spring-bean-scope/src/main/java/com/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/2. Web Application with Spring Boot/#1.1 spring-bean-scope/src/main/java/com/.DS_Store -------------------------------------------------------------------------------- /2. Web Application with Spring Boot/#1.1 spring-bean-scope/src/main/java/com/rean/Message.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.springframework.context.annotation.Scope; 4 | import org.springframework.stereotype.Component; 5 | 6 | @Component 7 | @Scope("prototype") //singleton default value 8 | public class Message { 9 | 10 | private String messageBot; 11 | 12 | public Message(){} 13 | 14 | public String getMessageBot() { 15 | return messageBot; 16 | } 17 | 18 | public void setMessageBot(String messageBot) { 19 | this.messageBot = messageBot; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /2. Web Application with Spring Boot/#1.1 spring-bean-scope/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /2. Web Application with Spring Boot/#1.1 spring-bean-scope/src/test/java/com/rean/SpringBeanScopeApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class SpringBeanScopeApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /2. Web Application with Spring Boot/#2 spring-boot-3-web-app/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/2. Web Application with Spring Boot/#2 spring-boot-3-web-app/.DS_Store -------------------------------------------------------------------------------- /2. Web Application with Spring Boot/#2 spring-boot-3-web-app/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/2. Web Application with Spring Boot/#2 spring-boot-3-web-app/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /2. Web Application with Spring Boot/#2 spring-boot-3-web-app/src/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/2. Web Application with Spring Boot/#2 spring-boot-3-web-app/src/.DS_Store -------------------------------------------------------------------------------- /2. Web Application with Spring Boot/#2 spring-boot-3-web-app/src/main/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/2. Web Application with Spring Boot/#2 spring-boot-3-web-app/src/main/.DS_Store -------------------------------------------------------------------------------- /2. Web Application with Spring Boot/#2 spring-boot-3-web-app/src/main/java/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/2. Web Application with Spring Boot/#2 spring-boot-3-web-app/src/main/java/.DS_Store -------------------------------------------------------------------------------- /2. Web Application with Spring Boot/#2 spring-boot-3-web-app/src/main/java/com/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/2. Web Application with Spring Boot/#2 spring-boot-3-web-app/src/main/java/com/.DS_Store -------------------------------------------------------------------------------- /2. Web Application with Spring Boot/#2 spring-boot-3-web-app/src/main/java/com/rean/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/2. Web Application with Spring Boot/#2 spring-boot-3-web-app/src/main/java/com/rean/.DS_Store -------------------------------------------------------------------------------- /2. Web Application with Spring Boot/#2 spring-boot-3-web-app/src/main/java/com/rean/SpringBoot3WebAppApplication.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class SpringBoot3WebAppApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(SpringBoot3WebAppApplication.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /2. Web Application with Spring Boot/#2 spring-boot-3-web-app/src/main/java/com/rean/repository/CommonRepository.java: -------------------------------------------------------------------------------- 1 | package com.rean.repository; 2 | 3 | public interface CommonRepository { 4 | 5 | T save(T model); 6 | void delete(T model); 7 | T findById(Long id); 8 | Iterable findAll(); 9 | } 10 | -------------------------------------------------------------------------------- /2. Web Application with Spring Boot/#2 spring-boot-3-web-app/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | spring.mvc.contentnegotiation.favor-parameter=true 3 | -------------------------------------------------------------------------------- /2. Web Application with Spring Boot/#2 spring-boot-3-web-app/src/test/java/com/rean/SpringBoot3WebAppApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class SpringBoot3WebAppApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /2. Web Application with Spring Boot/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/2. Web Application with Spring Boot/.DS_Store -------------------------------------------------------------------------------- /3. Data Access with Spring/#1 spring boot jdbc-template/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/**/target/ 5 | !**/src/test/**/target/ 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | !**/src/main/**/build/ 30 | !**/src/test/**/build/ 31 | 32 | ### VS Code ### 33 | .vscode/ 34 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#1 spring boot jdbc-template/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/3. Data Access with Spring/#1 spring boot jdbc-template/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /3. Data Access with Spring/#1 spring boot jdbc-template/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.3/apache-maven-3.8.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#1 spring boot jdbc-template/src/main/java/com/rean/dao/UserDao.java: -------------------------------------------------------------------------------- 1 | package com.rean.dao; 2 | 3 | import com.rean.dto.UserDto; 4 | 5 | public interface UserDao { 6 | 7 | int insert(UserDto userDto); 8 | int update(UserDto userDto); 9 | UserDto select(int id); 10 | int delete(int id); 11 | } 12 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#1 spring boot jdbc-template/src/main/java/com/rean/dto/UserDto.java: -------------------------------------------------------------------------------- 1 | package com.rean.dto; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.util.Date; 8 | 9 | @Data 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class UserDto { 13 | 14 | private int id; 15 | private String username; 16 | private String password; 17 | private Date crateAt; 18 | } 19 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#1 spring boot jdbc-template/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | server.port=9091 2 | 3 | spring.datasource.url=jdbc:postgresql://localhost:5432/demo 4 | spring.datasource.username=postgres 5 | spring.datasource.password=123456 6 | spring.datasource.driver-class-name=org.postgresql.Driver 7 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#1 spring boot jdbc-template/src/test/java/com/rean/ReanSpringBootApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class ReanSpringBootApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#10 spring-boot-graphql/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/**/target/ 5 | !**/src/test/**/target/ 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | !**/src/main/**/build/ 30 | !**/src/test/**/build/ 31 | 32 | ### VS Code ### 33 | .vscode/ 34 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#10 spring-boot-graphql/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/3. Data Access with Spring/#10 spring-boot-graphql/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /3. Data Access with Spring/#10 spring-boot-graphql/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar 3 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#10 spring-boot-graphql/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM openjdk:11-jre-slim 2 | 3 | ARG JAR_FILE=target/*.jar 4 | 5 | COPY ${JAR_FILE} app.jar 6 | 7 | #VOLUME /logs 8 | 9 | #COPY target/*.jar app.jar 10 | 11 | EXPOSE 8080 12 | 13 | ENTRYPOINT ["java", "-jar","app.jar"] -------------------------------------------------------------------------------- /3. Data Access with Spring/#10 spring-boot-graphql/src/main/java/com/rean/dto/BookRequest.java: -------------------------------------------------------------------------------- 1 | package com.rean.dto; 2 | 3 | import lombok.Data; 4 | 5 | @Data 6 | public class BookRequest { 7 | 8 | private Long id; 9 | private String title; 10 | private String publisher; 11 | private Long authorId; 12 | } 13 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#10 spring-boot-graphql/src/main/java/com/rean/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.rean.repository; 2 | 3 | import com.rean.model.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | 6 | public interface AuthorRepository extends JpaRepository { 7 | } 8 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#10 spring-boot-graphql/src/main/java/com/rean/repository/BookRepository.java: -------------------------------------------------------------------------------- 1 | package com.rean.repository; 2 | 3 | import com.rean.model.Book; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface BookRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#10 spring-boot-graphql/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | spring.application.name=book-service 3 | spring.jpa.hibernate.ddl-auto=create-drop 4 | spring.graphql.graphiql.enabled=true -------------------------------------------------------------------------------- /3. Data Access with Spring/#10 spring-boot-graphql/src/test/java/com/rean/SpringBootGraphqlApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class SpringBootGraphqlApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#2 spring-boot-3-jdbc/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/3. Data Access with Spring/#2 spring-boot-3-jdbc/.DS_Store -------------------------------------------------------------------------------- /3. Data Access with Spring/#2 spring-boot-3-jdbc/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/**/target/ 5 | !**/src/test/**/target/ 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | !**/src/main/**/build/ 30 | !**/src/test/**/build/ 31 | 32 | ### VS Code ### 33 | .vscode/ 34 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#2 spring-boot-3-jdbc/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/3. Data Access with Spring/#2 spring-boot-3-jdbc/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /3. Data Access with Spring/#2 spring-boot-3-jdbc/src/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/3. Data Access with Spring/#2 spring-boot-3-jdbc/src/.DS_Store -------------------------------------------------------------------------------- /3. Data Access with Spring/#2 spring-boot-3-jdbc/src/main/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/3. Data Access with Spring/#2 spring-boot-3-jdbc/src/main/.DS_Store -------------------------------------------------------------------------------- /3. Data Access with Spring/#2 spring-boot-3-jdbc/src/main/java/com/rean/SpringBoot3JdbcApplication.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class SpringBoot3JdbcApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(SpringBoot3JdbcApplication.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#2 spring-boot-3-jdbc/src/main/java/com/rean/exception/TodoErrorException.java: -------------------------------------------------------------------------------- 1 | package com.rean.exception; 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty; 4 | 5 | public record TodoErrorException(@JsonProperty("error_message") String errorMessage) { 6 | 7 | public TodoErrorException(String errorMessage) { 8 | this.errorMessage = errorMessage; 9 | } 10 | 11 | public String getErrorMessage() { 12 | return errorMessage; 13 | } 14 | } -------------------------------------------------------------------------------- /3. Data Access with Spring/#2 spring-boot-3-jdbc/src/main/java/com/rean/repository/CommonRepository.java: -------------------------------------------------------------------------------- 1 | package com.rean.repository; 2 | 3 | public interface CommonRepository { 4 | 5 | T save(T model); 6 | void delete(T model); 7 | T findById(Long id); 8 | Iterable findAll(); 9 | } 10 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#2 spring-boot-3-jdbc/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:h2:mem:hey_db 2 | spring.datasource.driverClassName=org.h2.Driver 3 | spring.datasource.username=sa 4 | spring.datasource.password= 5 | spring.jpa.database-platform=org.hibernate.dialect.H2Dialect 6 | #spring.jpa.defer-datasource-initialization=true 7 | #http://localhost:8080/h2-console 8 | spring.h2.console.enabled=true 9 | 10 | logging.level.org.springframework.data=INFO 11 | logging.level.org.springframework.jdbc.core.JdbcTemplate=DEBUG 12 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#2 spring-boot-3-jdbc/src/main/resources/schema.sql: -------------------------------------------------------------------------------- 1 | DROP TABLE IF EXISTS todo; 2 | 3 | CREATE TABLE tbl_todo( 4 | id varchar(36) not null primary key, 5 | title varchar(255) not null, 6 | description varchar(255) not null, 7 | created timestamp, 8 | modified timestamp, 9 | completed boolean 10 | ); -------------------------------------------------------------------------------- /3. Data Access with Spring/#2 spring-boot-3-jdbc/src/test/java/com/rean/SpringBoot3JdbcApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class SpringBoot3JdbcApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#3 spring-boot-3-data-jpa/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/3. Data Access with Spring/#3 spring-boot-3-data-jpa/.DS_Store -------------------------------------------------------------------------------- /3. Data Access with Spring/#3 spring-boot-3-data-jpa/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/**/target/ 5 | !**/src/test/**/target/ 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | !**/src/main/**/build/ 30 | !**/src/test/**/build/ 31 | 32 | ### VS Code ### 33 | .vscode/ 34 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#3 spring-boot-3-data-jpa/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/3. Data Access with Spring/#3 spring-boot-3-data-jpa/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /3. Data Access with Spring/#3 spring-boot-3-data-jpa/src/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/3. Data Access with Spring/#3 spring-boot-3-data-jpa/src/.DS_Store -------------------------------------------------------------------------------- /3. Data Access with Spring/#3 spring-boot-3-data-jpa/src/main/java/com/rean/SpringBoot3DataJpaApplication.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class SpringBoot3DataJpaApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(SpringBoot3DataJpaApplication.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#3 spring-boot-3-data-jpa/src/main/java/com/rean/excpetion/ErrorMessage.java: -------------------------------------------------------------------------------- 1 | package com.rean.excpetion; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.util.Date; 8 | 9 | @Data 10 | @NoArgsConstructor 11 | @AllArgsConstructor 12 | public class ErrorMessage { 13 | 14 | private int statusCode; 15 | private Date timestamp; 16 | private String message; 17 | private String description; 18 | } 19 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#3 spring-boot-3-data-jpa/src/main/java/com/rean/excpetion/ResourceNotFoundException.java: -------------------------------------------------------------------------------- 1 | package com.rean.excpetion; 2 | 3 | public class ResourceNotFoundException extends RuntimeException{ 4 | 5 | public ResourceNotFoundException(String msg){ 6 | super(msg); 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#3 spring-boot-3-data-jpa/src/main/java/com/rean/repository/TodoRepository.java: -------------------------------------------------------------------------------- 1 | package com.rean.repository; 2 | 3 | import com.rean.model.Todo; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface TodoRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#3 spring-boot-3-data-jpa/src/main/java/com/rean/service/TodoService.java: -------------------------------------------------------------------------------- 1 | package com.rean.service; 2 | 3 | import com.rean.model.Todo; 4 | 5 | public interface TodoService { 6 | 7 | Todo saveOrUpdate(Todo todo); 8 | Todo update(Long id); 9 | void delete(Long id); 10 | Todo findById(Long id); 11 | Iterable findAll(); 12 | } 13 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#3 spring-boot-3-data-jpa/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | server.port=8080 2 | 3 | spring.datasource.url=jdbc:h2:mem:hey_db 4 | spring.datasource.driverClassName=org.h2.Driver 5 | spring.datasource.username=sa 6 | spring.datasource.password= 7 | spring.jpa.database-platform=org.hibernate.dialect.H2Dialect 8 | #spring.jpa.defer-datasource-initialization=true 9 | #http://localhost:8080/h2-console 10 | spring.h2.console.enabled=true 11 | 12 | #JPA 13 | spring.jpa.generate-ddl=true 14 | spring.jpa.hibernate.ddl-auto=update 15 | spring.jpa.show-sql=true 16 | 17 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#3 spring-boot-3-data-jpa/src/test/java/com/rean/SpringBoot3DataJpaApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class SpringBoot3DataJpaApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#4 spring-data-rest/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/**/target/ 5 | !**/src/test/**/target/ 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | !**/src/main/**/build/ 30 | !**/src/test/**/build/ 31 | 32 | ### VS Code ### 33 | .vscode/ 34 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#4 spring-data-rest/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/3. Data Access with Spring/#4 spring-data-rest/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /3. Data Access with Spring/#4 spring-data-rest/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar 3 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#4 spring-data-rest/src/main/java/com/rean/repository/BookRepository.java: -------------------------------------------------------------------------------- 1 | package com.rean.repository; 2 | 3 | import com.rean.model.Book; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.data.repository.query.Param; 6 | import org.springframework.data.rest.core.annotation.RepositoryRestResource; 7 | 8 | import java.util.List; 9 | 10 | @RepositoryRestResource(path = "books") 11 | public interface BookRepository extends JpaRepository { 12 | 13 | List findAllByAuthor(@Param("author") String author); 14 | } 15 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#4 spring-data-rest/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.data.rest.default-page-size=10 2 | spring.data.rest.base-path=/api/ 3 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#4 spring-data-rest/src/test/java/com/rean/SpringDataRestApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class SpringDataRestApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#5 Spring Data JPA/#1 spring-data-jpa/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/3. Data Access with Spring/#5 Spring Data JPA/#1 spring-data-jpa/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /3. Data Access with Spring/#5 Spring Data JPA/#1 spring-data-jpa/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.3/apache-maven-3.8.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#5 Spring Data JPA/#1 spring-data-jpa/logs/app_log.log.2021-11-19.0.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/3. Data Access with Spring/#5 Spring Data JPA/#1 spring-data-jpa/logs/app_log.log.2021-11-19.0.gz -------------------------------------------------------------------------------- /3. Data Access with Spring/#5 Spring Data JPA/#1 spring-data-jpa/logs/app_log.log.2021-11-20.0.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/3. Data Access with Spring/#5 Spring Data JPA/#1 spring-data-jpa/logs/app_log.log.2021-11-20.0.gz -------------------------------------------------------------------------------- /3. Data Access with Spring/#5 Spring Data JPA/#1 spring-data-jpa/src/test/java/com/springdatajpa/SpringDataJpaApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.springdatajpa; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class SpringDataJpaApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#5 Spring Data JPA/#2 spring jpa one to one relationship/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/3. Data Access with Spring/#5 Spring Data JPA/#2 spring jpa one to one relationship/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /3. Data Access with Spring/#5 Spring Data JPA/#2 spring jpa one to one relationship/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.3/apache-maven-3.8.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#5 Spring Data JPA/#2 spring jpa one to one relationship/src/main/java/com/learnspring/dto/CourseDto.java: -------------------------------------------------------------------------------- 1 | package com.learnspring.dto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty; 4 | import lombok.Data; 5 | 6 | import java.util.Date; 7 | 8 | @Data 9 | public class CourseDto { 10 | 11 | @JsonProperty("course_name") 12 | private String courseName; 13 | 14 | @JsonProperty("course_price") 15 | private double price; 16 | 17 | @JsonProperty("create_at") 18 | private Date createAt; 19 | } 20 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#5 Spring Data JPA/#2 spring jpa one to one relationship/src/main/java/com/learnspring/repository/CourseRepository.java: -------------------------------------------------------------------------------- 1 | package com.learnspring.repository; 2 | 3 | import com.learnspring.model.Course; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface CourseRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#5 Spring Data JPA/#2 spring jpa one to one relationship/src/main/java/com/learnspring/repository/StudentRepository.java: -------------------------------------------------------------------------------- 1 | package com.learnspring.repository; 2 | 3 | import com.learnspring.model.Student; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface StudentRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#5 Spring Data JPA/#2 spring jpa one to one relationship/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:postgresql://localhost:5432/demo 2 | spring.datasource.username=postgres 3 | spring.datasource.password=123456 4 | spring.datasource.driver-class-name=org.postgresql.Driver 5 | 6 | spring.jpa.hibernate.ddl-auto=create-drop 7 | 8 | spring.jpa.show-sql=true -------------------------------------------------------------------------------- /3. Data Access with Spring/#5 Spring Data JPA/#2 spring jpa one to one relationship/src/test/java/com/learnspring/LearnSpringApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.learnspring; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class LearnSpringApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#5 Spring Data JPA/#3 spring-data-jpa-relationship/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/3. Data Access with Spring/#5 Spring Data JPA/#3 spring-data-jpa-relationship/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /3. Data Access with Spring/#5 Spring Data JPA/#3 spring-data-jpa-relationship/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.4/apache-maven-3.8.4-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar 3 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#5 Spring Data JPA/#3 spring-data-jpa-relationship/doc/ERD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/3. Data Access with Spring/#5 Spring Data JPA/#3 spring-data-jpa-relationship/doc/ERD.png -------------------------------------------------------------------------------- /3. Data Access with Spring/#5 Spring Data JPA/#3 spring-data-jpa-relationship/src/main/java/com/rean/SpringDataJpaRelationshipApplication.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class SpringDataJpaRelationshipApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(SpringDataJpaRelationshipApplication.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#5 Spring Data JPA/#3 spring-data-jpa-relationship/src/main/java/com/rean/configuration/ApplicationConfiguration.java: -------------------------------------------------------------------------------- 1 | package com.rean.configuration; 2 | 3 | import org.modelmapper.ModelMapper; 4 | import org.springframework.context.annotation.Bean; 5 | import org.springframework.context.annotation.Configuration; 6 | 7 | @Configuration 8 | public class ApplicationConfiguration { 9 | 10 | @Bean 11 | public ModelMapper modelMapper() { 12 | return new ModelMapper(); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#5 Spring Data JPA/#3 spring-data-jpa-relationship/src/main/java/com/rean/dto/CategoryRequestDto.java: -------------------------------------------------------------------------------- 1 | package com.rean.dto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | @Data 9 | @NoArgsConstructor 10 | @AllArgsConstructor 11 | public class CategoryRequestDto { 12 | 13 | @JsonProperty("category") 14 | private String category; 15 | 16 | @JsonProperty("description") 17 | private String description; 18 | } 19 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#5 Spring Data JPA/#3 spring-data-jpa-relationship/src/main/java/com/rean/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.rean.repository; 2 | 3 | import com.rean.model.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | import java.util.Optional; 8 | 9 | @Repository 10 | public interface AuthorRepository extends JpaRepository { 11 | 12 | Optional findFirstById(Long id); 13 | } 14 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#5 Spring Data JPA/#3 spring-data-jpa-relationship/src/main/java/com/rean/repository/BookRepository.java: -------------------------------------------------------------------------------- 1 | package com.rean.repository; 2 | 3 | import com.rean.model.Book; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface BookRepository extends JpaRepository { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#5 Spring Data JPA/#3 spring-data-jpa-relationship/src/main/java/com/rean/repository/CategoryRepository.java: -------------------------------------------------------------------------------- 1 | package com.rean.repository; 2 | 3 | import com.rean.model.Category; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | import java.util.Optional; 8 | 9 | @Repository 10 | public interface CategoryRepository extends JpaRepository { 11 | 12 | Optional findFirstById(Long id); 13 | } 14 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#5 Spring Data JPA/#3 spring-data-jpa-relationship/src/main/java/com/rean/repository/PageClazzRepository.java: -------------------------------------------------------------------------------- 1 | package com.rean.repository; 2 | 3 | import com.rean.model.PageClazz; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface PageClazzRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#5 Spring Data JPA/#3 spring-data-jpa-relationship/src/main/java/com/rean/repository/PhotoRepository.java: -------------------------------------------------------------------------------- 1 | package com.rean.repository; 2 | 3 | import com.rean.model.Photo; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | import java.util.Optional; 8 | 9 | @Repository 10 | public interface PhotoRepository extends JpaRepository { 11 | 12 | Optional findFirstById(Long id); 13 | } 14 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#5 Spring Data JPA/#3 spring-data-jpa-relationship/src/main/java/com/rean/service/AuthorService.java: -------------------------------------------------------------------------------- 1 | package com.rean.service; 2 | 3 | import com.rean.dto.AuthorRequestDto; 4 | import com.rean.model.Author; 5 | 6 | public interface AuthorService { 7 | 8 | void add(AuthorRequestDto authorRequestDto) throws Exception; 9 | 10 | Author findById(Long id) throws Exception; 11 | } 12 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#5 Spring Data JPA/#3 spring-data-jpa-relationship/src/main/java/com/rean/service/BookService.java: -------------------------------------------------------------------------------- 1 | package com.rean.service; 2 | 3 | import com.rean.dto.BookRequestDto; 4 | import com.rean.dto.BookResponseDto; 5 | 6 | import java.util.List; 7 | 8 | public interface BookService { 9 | 10 | void createNewBook(BookRequestDto bookRequestDto) throws Exception; 11 | 12 | List listBooks() throws Exception; 13 | 14 | } 15 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#5 Spring Data JPA/#3 spring-data-jpa-relationship/src/main/java/com/rean/service/CategoryService.java: -------------------------------------------------------------------------------- 1 | package com.rean.service; 2 | 3 | import com.rean.dto.CategoryRequestDto; 4 | import com.rean.model.Category; 5 | 6 | public interface CategoryService { 7 | 8 | void createNewCategory(CategoryRequestDto categoryRequestDto) throws Exception; 9 | 10 | Category checkById(Long id) throws Exception; 11 | } 12 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#5 Spring Data JPA/#3 spring-data-jpa-relationship/src/main/java/com/rean/service/PhotoService.java: -------------------------------------------------------------------------------- 1 | package com.rean.service; 2 | 3 | import com.rean.dto.PhotoRequestDto; 4 | import com.rean.model.Photo; 5 | 6 | public interface PhotoService { 7 | 8 | void addNewPhoto(PhotoRequestDto photoRequestDto) throws Exception; 9 | 10 | Photo checkById(Long id); 11 | } 12 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#5 Spring Data JPA/#3 spring-data-jpa-relationship/src/test/java/com/rean/SpringDataJpaRelationshipApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class SpringDataJpaRelationshipApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#5 Spring Data JPA/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/3. Data Access with Spring/#5 Spring Data JPA/.DS_Store -------------------------------------------------------------------------------- /3. Data Access with Spring/#6 Spring-Boot-Data-Redis/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/**/target/ 5 | !**/src/test/**/target/ 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | !**/src/main/**/build/ 30 | !**/src/test/**/build/ 31 | 32 | ### VS Code ### 33 | .vscode/ 34 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#6 Spring-Boot-Data-Redis/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/3. Data Access with Spring/#6 Spring-Boot-Data-Redis/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /3. Data Access with Spring/#6 Spring-Boot-Data-Redis/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.4/apache-maven-3.8.4-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar 3 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#6 Spring-Boot-Data-Redis/src/main/java/com/rean/SpringBootDataRedisApplication.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class SpringBootDataRedisApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(SpringBootDataRedisApplication.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#6 Spring-Boot-Data-Redis/src/main/java/com/rean/service/EmployeeService.java: -------------------------------------------------------------------------------- 1 | package com.rean.service; 2 | 3 | import com.rean.dto.Employee; 4 | 5 | import java.util.List; 6 | import java.util.Map; 7 | 8 | public interface EmployeeService { 9 | 10 | void save(Employee employee); 11 | void update(Employee employee); 12 | void delete(Long id); 13 | Employee findById(Long id); 14 | List getAllEmployees(String key); 15 | List findEmployeeById(List id); 16 | Map getAll(); 17 | } 18 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#6 Spring-Boot-Data-Redis/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | spring.redis.host=127.0.0.1 3 | spring.redis.port=6379 -------------------------------------------------------------------------------- /3. Data Access with Spring/#6 Spring-Boot-Data-Redis/src/test/java/com/rean/SpringBootDataRedisApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class SpringBootDataRedisApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#7 spring-boot-redis-stack/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/**/target/ 5 | !**/src/test/**/target/ 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | !**/src/main/**/build/ 30 | !**/src/test/**/build/ 31 | 32 | ### VS Code ### 33 | .vscode/ 34 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#7 spring-boot-redis-stack/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/3. Data Access with Spring/#7 spring-boot-redis-stack/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /3. Data Access with Spring/#7 spring-boot-redis-stack/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.4/apache-maven-3.8.4-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar 3 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#7 spring-boot-redis-stack/src/main/java/com/rean/config/AppConfig.java: -------------------------------------------------------------------------------- 1 | package com.rean.config; 2 | 3 | import org.springframework.context.annotation.Bean; 4 | import org.springframework.context.annotation.Configuration; 5 | import org.springframework.web.client.RestTemplate; 6 | 7 | @Configuration 8 | public class AppConfig { 9 | 10 | @Bean 11 | public RestTemplate restTemplate() { 12 | return new RestTemplate(); 13 | } 14 | } -------------------------------------------------------------------------------- /3. Data Access with Spring/#7 spring-boot-redis-stack/src/main/java/com/rean/data/Name.java: -------------------------------------------------------------------------------- 1 | package com.rean.data; 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty; 4 | import lombok.Data; 5 | 6 | @Data 7 | public class Name { 8 | @JsonProperty("firstname") 9 | private String firstName; 10 | 11 | @JsonProperty("lastname") 12 | private String lastName; 13 | } -------------------------------------------------------------------------------- /3. Data Access with Spring/#7 spring-boot-redis-stack/src/main/java/com/rean/data/Product.java: -------------------------------------------------------------------------------- 1 | package com.rean.data; 2 | 3 | import lombok.Data; 4 | 5 | @Data 6 | public class Product { 7 | 8 | private Integer id; 9 | private String title; 10 | private double price; 11 | private String category; 12 | private String description; 13 | private String image; 14 | } 15 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#7 spring-boot-redis-stack/src/main/java/com/rean/data/UserListResp.java: -------------------------------------------------------------------------------- 1 | package com.rean.data; 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty; 4 | import lombok.Data; 5 | 6 | import java.util.List; 7 | 8 | @Data 9 | public class UserListResp { 10 | 11 | @JsonProperty("users") 12 | private List users; 13 | } 14 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#7 spring-boot-redis-stack/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | redis.host=redis://localhost:6389 -------------------------------------------------------------------------------- /3. Data Access with Spring/#7 spring-boot-redis-stack/src/test/java/com/rean/SpringBootRedisStackApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class SpringBootRedisStackApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#8 spring-boot-data-redis-cache/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/3. Data Access with Spring/#8 spring-boot-data-redis-cache/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /3. Data Access with Spring/#8 spring-boot-data-redis-cache/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.4/apache-maven-3.8.4-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar 3 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#8 spring-boot-data-redis-cache/src/main/java/com/rean/SpringBootDataRedisCacheApplication.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | import org.springframework.cache.annotation.EnableCaching; 6 | 7 | @SpringBootApplication 8 | @EnableCaching 9 | public class SpringBootDataRedisCacheApplication { 10 | 11 | public static void main(String[] args) { 12 | SpringApplication.run(SpringBootDataRedisCacheApplication.class, args); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#8 spring-boot-data-redis-cache/src/main/java/com/rean/config/AppConfig.java: -------------------------------------------------------------------------------- 1 | package com.rean.config; 2 | 3 | import org.modelmapper.ModelMapper; 4 | import org.springframework.context.annotation.Bean; 5 | import org.springframework.context.annotation.Configuration; 6 | 7 | @Configuration 8 | public class AppConfig { 9 | 10 | @Bean 11 | public ModelMapper modelMapper() { 12 | return new ModelMapper(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#8 spring-boot-data-redis-cache/src/main/java/com/rean/exception/EmployeeExceptionNotFound.java: -------------------------------------------------------------------------------- 1 | package com.rean.exception; 2 | 3 | import org.springframework.http.HttpStatus; 4 | import org.springframework.web.bind.annotation.ResponseStatus; 5 | 6 | @ResponseStatus(HttpStatus.NOT_FOUND) 7 | public class EmployeeExceptionNotFound extends RuntimeException { 8 | private static final long serialVersionUID = -5274604505720526425L; 9 | 10 | public EmployeeExceptionNotFound(String message) { 11 | super(message); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#8 spring-boot-data-redis-cache/src/main/java/com/rean/repository/EmployeeRepository.java: -------------------------------------------------------------------------------- 1 | package com.rean.repository; 2 | 3 | import com.rean.model.Employee; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | import java.util.Optional; 8 | 9 | @Repository 10 | public interface EmployeeRepository extends JpaRepository { 11 | 12 | Optional findFirstByEmployeeNo(String empNo); 13 | } 14 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#8 spring-boot-data-redis-cache/src/main/java/com/rean/service/EmployeeService.java: -------------------------------------------------------------------------------- 1 | package com.rean.service; 2 | 3 | import com.rean.dto.EmployeeDto; 4 | 5 | import java.util.List; 6 | 7 | public interface EmployeeService { 8 | 9 | EmployeeDto findByEmployeeNo(String empNo); 10 | 11 | List getAll(); 12 | 13 | EmployeeDto update(EmployeeDto employeeDto, String empNo); 14 | 15 | void delete(String empNo); 16 | } 17 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#8 spring-boot-data-redis-cache/src/test/java/com/rean/SpringBootDataRedisCacheApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class SpringBootDataRedisCacheApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#9 spring-boot-elasticsearch/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/3. Data Access with Spring/#9 spring-boot-elasticsearch/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /3. Data Access with Spring/#9 spring-boot-elasticsearch/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar 3 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#9 spring-boot-elasticsearch/src/main/java/com/rean/repository/ArticleRepository.java: -------------------------------------------------------------------------------- 1 | package com.rean.repository; 2 | 3 | import com.rean.model.Article; 4 | import org.springframework.data.elasticsearch.repository.ElasticsearchRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface ArticleRepository extends ElasticsearchRepository { 9 | } -------------------------------------------------------------------------------- /3. Data Access with Spring/#9 spring-boot-elasticsearch/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | elasticsearch: 3 | uris: 127.0.0.1:9200 4 | 5 | springdoc: 6 | swagger-ui: 7 | path: /swagger-ui.html 8 | api-docs: 9 | path: /v1/api-docs 10 | -------------------------------------------------------------------------------- /3. Data Access with Spring/#9 spring-boot-elasticsearch/src/test/java/com/rean/SppringBootElasticsearchApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class SppringBootElasticsearchApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /3. Data Access with Spring/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/3. Data Access with Spring/.DS_Store -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/4. Security with Spring Boot/#1 spring-boot-3-security/.DS_Store -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | # Editor-based HTTP Client requests 5 | /httpRequests/ 6 | # Datasource local storage ignored files 7 | /dataSources/ 8 | /dataSources.local.xml 9 | -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/rest-api/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/4. Security with Spring Boot/#1 spring-boot-3-security/rest-api/.DS_Store -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/rest-api/src/main/java/com/rean/AuthenticationRequest.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | public record AuthenticationRequest(String username, String password) { 4 | } 5 | -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/rest-api/src/main/java/com/rean/AuthenticationResponse.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty; 4 | 5 | import java.util.List; 6 | 7 | public record AuthenticationResponse( 8 | String username, 9 | String password, 10 | String email, 11 | @JsonProperty("full_name") String fullName, 12 | @JsonProperty("roles") List roles) { 13 | } 14 | -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/rest-api/src/main/java/com/rean/User.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty; 4 | 5 | public record User( 6 | @JsonProperty("first_name") String firstName, 7 | @JsonProperty("last_name") String lastName, 8 | @JsonProperty("email") String email) { 9 | } 10 | -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/rest-api/target/classes/com/rean/AuthenticationRequest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/4. Security with Spring Boot/#1 spring-boot-3-security/rest-api/target/classes/com/rean/AuthenticationRequest.class -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/rest-api/target/classes/com/rean/AuthenticationResponse.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/4. Security with Spring Boot/#1 spring-boot-3-security/rest-api/target/classes/com/rean/AuthenticationResponse.class -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/rest-api/target/classes/com/rean/User.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/4. Security with Spring Boot/#1 spring-boot-3-security/rest-api/target/classes/com/rean/User.class -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/rest-api/target/classes/com/rean/UserController.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/4. Security with Spring Boot/#1 spring-boot-3-security/rest-api/target/classes/com/rean/UserController.class -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/security-database-config/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/4. Security with Spring Boot/#1 spring-boot-3-security/security-database-config/.DS_Store -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/security-database-config/src/main/java/com/rean/SecurityDatabaseApplication.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class SecurityDatabaseApplication { 8 | public static void main(String[] args) { 9 | SpringApplication.run(SecurityDatabaseApplication.class, args); 10 | } 11 | 12 | } -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/security-database-config/src/main/java/com/rean/config/AppConfig.java: -------------------------------------------------------------------------------- 1 | package com.rean.config; 2 | 3 | import org.springframework.context.annotation.Bean; 4 | import org.springframework.context.annotation.Configuration; 5 | import org.springframework.web.client.RestTemplate; 6 | 7 | @Configuration 8 | public class AppConfig { 9 | 10 | @Bean 11 | public RestTemplate restTemplate() { 12 | return new RestTemplate(); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/security-database-config/src/main/java/com/rean/model/UserRole.java: -------------------------------------------------------------------------------- 1 | package com.rean.model; 2 | 3 | public enum UserRole { 4 | USER, 5 | ADMIN 6 | } -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/security-database-config/src/main/java/com/rean/repository/RoleRepository.java: -------------------------------------------------------------------------------- 1 | package com.rean.repository; 2 | 3 | import com.rean.model.Role; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | import java.util.Set; 7 | 8 | @Repository 9 | public interface RoleRepository extends JpaRepository { 10 | Set findAllByName(String name); 11 | } 12 | -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/security-database-config/src/main/java/com/rean/repository/UserRepository.java: -------------------------------------------------------------------------------- 1 | package com.rean.repository; 2 | 3 | import com.rean.model.User; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | import java.util.Optional; 8 | 9 | @Repository 10 | public interface UserRepository extends JpaRepository { 11 | 12 | Optional findFirstByUsername(String username); 13 | } 14 | -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/security-database-config/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 8083 3 | 4 | 5 | spring: 6 | application: 7 | name: customer-services 8 | datasource: 9 | url: jdbc:postgresql://localhost:5432/user_io 10 | password: password 11 | username: reancode 12 | jpa: 13 | hibernate: 14 | ddl-auto: create-drop 15 | properties: 16 | hibernate: 17 | dialect: org.hibernate.dialect.PostgreSQLDialect 18 | format_sql: true 19 | show-sql: true -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/security-database-config/target/classes/application.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 8083 3 | 4 | 5 | spring: 6 | application: 7 | name: customer-services 8 | datasource: 9 | url: jdbc:postgresql://localhost:5432/user_io 10 | password: password 11 | username: reancode 12 | jpa: 13 | hibernate: 14 | ddl-auto: create-drop 15 | properties: 16 | hibernate: 17 | dialect: org.hibernate.dialect.PostgreSQLDialect 18 | format_sql: true 19 | show-sql: true -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/security-database-config/target/classes/com/rean/SecurityDatabaseApplication.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/4. Security with Spring Boot/#1 spring-boot-3-security/security-database-config/target/classes/com/rean/SecurityDatabaseApplication.class -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/security-database-config/target/classes/com/rean/config/AppConfig.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/4. Security with Spring Boot/#1 spring-boot-3-security/security-database-config/target/classes/com/rean/config/AppConfig.class -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/security-database-config/target/classes/com/rean/config/SecurityConfig.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/4. Security with Spring Boot/#1 spring-boot-3-security/security-database-config/target/classes/com/rean/config/SecurityConfig.class -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/security-database-config/target/classes/com/rean/controller/AuthenticationController.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/4. Security with Spring Boot/#1 spring-boot-3-security/security-database-config/target/classes/com/rean/controller/AuthenticationController.class -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/security-database-config/target/classes/com/rean/controller/PublicController.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/4. Security with Spring Boot/#1 spring-boot-3-security/security-database-config/target/classes/com/rean/controller/PublicController.class -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/security-database-config/target/classes/com/rean/controller/TodoController.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/4. Security with Spring Boot/#1 spring-boot-3-security/security-database-config/target/classes/com/rean/controller/TodoController.class -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/security-database-config/target/classes/com/rean/model/Role$RoleBuilder.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/4. Security with Spring Boot/#1 spring-boot-3-security/security-database-config/target/classes/com/rean/model/Role$RoleBuilder.class -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/security-database-config/target/classes/com/rean/model/Role.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/4. Security with Spring Boot/#1 spring-boot-3-security/security-database-config/target/classes/com/rean/model/Role.class -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/security-database-config/target/classes/com/rean/model/User$UserBuilder.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/4. Security with Spring Boot/#1 spring-boot-3-security/security-database-config/target/classes/com/rean/model/User$UserBuilder.class -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/security-database-config/target/classes/com/rean/model/User.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/4. Security with Spring Boot/#1 spring-boot-3-security/security-database-config/target/classes/com/rean/model/User.class -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/security-database-config/target/classes/com/rean/model/UserRole.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/4. Security with Spring Boot/#1 spring-boot-3-security/security-database-config/target/classes/com/rean/model/UserRole.class -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/security-database-config/target/classes/com/rean/repository/RoleRepository.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/4. Security with Spring Boot/#1 spring-boot-3-security/security-database-config/target/classes/com/rean/repository/RoleRepository.class -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/security-database-config/target/classes/com/rean/repository/UserRepository.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/4. Security with Spring Boot/#1 spring-boot-3-security/security-database-config/target/classes/com/rean/repository/UserRepository.class -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/security-database-config/target/classes/com/rean/service/UserDetailService.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/4. Security with Spring Boot/#1 spring-boot-3-security/security-database-config/target/classes/com/rean/service/UserDetailService.class -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/security-database-config/target/classes/com/rean/service/UserService.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/4. Security with Spring Boot/#1 spring-boot-3-security/security-database-config/target/classes/com/rean/service/UserService.class -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/security-default-config/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/4. Security with Spring Boot/#1 spring-boot-3-security/security-default-config/.DS_Store -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/security-default-config/src/main/java/com/rean/SecurityApplication.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class SecurityApplication { 8 | public static void main(String[] args) { 9 | SpringApplication.run(SecurityApplication.class, args); 10 | } 11 | } -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/security-default-config/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 8081 3 | 4 | # logout => localhost:8081/logout 5 | # default user => user 6 | spring: 7 | security: 8 | user: 9 | name: admin 10 | password: admin 11 | roles: ADMIN,USER 12 | -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/security-default-config/target/classes/application.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 8081 3 | 4 | # logout => localhost:8081/logout 5 | # default user => user 6 | spring: 7 | security: 8 | user: 9 | name: admin 10 | password: admin 11 | roles: ADMIN,USER 12 | -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/security-default-config/target/classes/com/rean/SecurityApplication.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/4. Security with Spring Boot/#1 spring-boot-3-security/security-default-config/target/classes/com/rean/SecurityApplication.class -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/security-inmemory-config/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/4. Security with Spring Boot/#1 spring-boot-3-security/security-inmemory-config/.DS_Store -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/security-inmemory-config/src/main/java/com/rean/SecurityInMemoryApplication.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | 4 | import org.springframework.boot.SpringApplication; 5 | import org.springframework.boot.autoconfigure.SpringBootApplication; 6 | 7 | @SpringBootApplication 8 | public class SecurityInMemoryApplication { 9 | public static void main(String[] args) { 10 | SpringApplication.run(SecurityInMemoryApplication.class, args); 11 | } 12 | } -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/security-inmemory-config/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 8082 -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/security-inmemory-config/target/classes/application.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 8082 -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/security-inmemory-config/target/classes/com/rean/InMemorySecurityConfig.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/4. Security with Spring Boot/#1 spring-boot-3-security/security-inmemory-config/target/classes/com/rean/InMemorySecurityConfig.class -------------------------------------------------------------------------------- /4. Security with Spring Boot/#1 spring-boot-3-security/security-inmemory-config/target/classes/com/rean/SecurityInMemoryApplication.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/4. Security with Spring Boot/#1 spring-boot-3-security/security-inmemory-config/target/classes/com/rean/SecurityInMemoryApplication.class -------------------------------------------------------------------------------- /4. Security with Spring Boot/#2 spring-security-jwt-authorization/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/4. Security with Spring Boot/#2 spring-security-jwt-authorization/.DS_Store -------------------------------------------------------------------------------- /4. Security with Spring Boot/#2 spring-security-jwt-authorization/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/4. Security with Spring Boot/#2 spring-security-jwt-authorization/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /4. Security with Spring Boot/#2 spring-security-jwt-authorization/src/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/4. Security with Spring Boot/#2 spring-security-jwt-authorization/src/.DS_Store -------------------------------------------------------------------------------- /4. Security with Spring Boot/#2 spring-security-jwt-authorization/src/main/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/4. Security with Spring Boot/#2 spring-security-jwt-authorization/src/main/.DS_Store -------------------------------------------------------------------------------- /4. Security with Spring Boot/#2 spring-security-jwt-authorization/src/main/java/com/rean/constant/Constant.java: -------------------------------------------------------------------------------- 1 | package com.rean.constant; 2 | 3 | public interface Constant { 4 | 5 | String SUC_MSG = "Successfully!"; 6 | String SUC_CODE = "200"; 7 | 8 | String USER_ID_NOT_FOUND = "User ID %s not found"; 9 | String USER_NAME_NOT_FOUND = "User name %s not found"; 10 | String USER_NOT_FOUND_CODE = "404"; 11 | String UN_AUTHORIZATION_CODE = "401"; 12 | String ACT = "ACT"; 13 | String BLK = "BLK"; 14 | } 15 | -------------------------------------------------------------------------------- /4. Security with Spring Boot/#2 spring-security-jwt-authorization/src/main/java/com/rean/dto/AuthenticationRequest.java: -------------------------------------------------------------------------------- 1 | package com.rean.dto; 2 | 3 | public record AuthenticationRequest( 4 | String username, 5 | String password 6 | ){ 7 | } 8 | -------------------------------------------------------------------------------- /4. Security with Spring Boot/#2 spring-security-jwt-authorization/src/main/java/com/rean/dto/AuthenticationResponse.java: -------------------------------------------------------------------------------- 1 | package com.rean.dto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty; 4 | 5 | public record AuthenticationResponse( 6 | @JsonProperty("access_token") String accessToken, 7 | @JsonProperty("refresh_token") String refreshToken 8 | ){ 9 | } 10 | -------------------------------------------------------------------------------- /4. Security with Spring Boot/#2 spring-security-jwt-authorization/src/main/java/com/rean/dto/ResponseErrorTemplate.java: -------------------------------------------------------------------------------- 1 | package com.rean.dto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty; 4 | 5 | public record ResponseErrorTemplate(String message, String code, @JsonProperty("data") Object object){ 6 | 7 | } 8 | -------------------------------------------------------------------------------- /4. Security with Spring Boot/#2 spring-security-jwt-authorization/src/main/java/com/rean/dto/UserRequest.java: -------------------------------------------------------------------------------- 1 | package com.rean.dto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty; 4 | 5 | import java.util.List; 6 | 7 | public record UserRequest( 8 | String username, 9 | String password, 10 | String email, 11 | @JsonProperty("full_name") String fullName, 12 | @JsonProperty("roles") List roles) { 13 | 14 | } 15 | -------------------------------------------------------------------------------- /4. Security with Spring Boot/#2 spring-security-jwt-authorization/src/main/java/com/rean/dto/UserResponse.java: -------------------------------------------------------------------------------- 1 | package com.rean.dto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty; 4 | 5 | import java.time.LocalDateTime; 6 | import java.util.List; 7 | 8 | public record UserResponse( 9 | String username, 10 | String password, 11 | String email, 12 | @JsonProperty("full_name") String fullName, 13 | List roles, 14 | @JsonProperty("created") LocalDateTime created 15 | ) { 16 | 17 | } 18 | -------------------------------------------------------------------------------- /4. Security with Spring Boot/#2 spring-security-jwt-authorization/src/main/java/com/rean/jwt/JwtConfig.java: -------------------------------------------------------------------------------- 1 | package com.rean.jwt; 2 | 3 | import lombok.Data; 4 | import org.springframework.beans.factory.annotation.Value; 5 | 6 | @Data 7 | public class JwtConfig { 8 | 9 | @Value("${jwt.url}") 10 | private String url; 11 | @Value("${jwt.header}") 12 | private String header; 13 | @Value("${jwt.prefix}") 14 | private String prefix; 15 | @Value("${jwt.expiration}") 16 | private Long expiration; 17 | @Value("${jwt.secret}") 18 | private String secret; 19 | } 20 | -------------------------------------------------------------------------------- /4. Security with Spring Boot/#2 spring-security-jwt-authorization/src/main/java/com/rean/jwt/JwtService.java: -------------------------------------------------------------------------------- 1 | package com.rean.jwt; 2 | 3 | import com.rean.security.CustomUserDetail; 4 | import io.jsonwebtoken.Claims; 5 | 6 | import java.security.Key; 7 | 8 | public interface JwtService { 9 | 10 | Claims extractClaims(String token); 11 | Key getKey(); 12 | String generateToken(CustomUserDetail customUserDetail); 13 | String refreshToken(CustomUserDetail customUserDetail); 14 | boolean isValidToken(String token); 15 | } 16 | -------------------------------------------------------------------------------- /4. Security with Spring Boot/#2 spring-security-jwt-authorization/src/main/java/com/rean/repository/RoleRepository.java: -------------------------------------------------------------------------------- 1 | package com.rean.repository; 2 | 3 | import com.rean.model.Role; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | import java.util.List; 8 | import java.util.Optional; 9 | 10 | @Repository 11 | public interface RoleRepository extends JpaRepository { 12 | 13 | Optional findFirstByName(String name); 14 | 15 | List findAllByNameIn(List names); 16 | 17 | } 18 | -------------------------------------------------------------------------------- /4. Security with Spring Boot/#2 spring-security-jwt-authorization/src/main/java/com/rean/service/UserService.java: -------------------------------------------------------------------------------- 1 | package com.rean.service; 2 | 3 | import com.rean.dto.ResponseErrorTemplate; 4 | import com.rean.dto.UserRequest; 5 | 6 | public interface UserService { 7 | 8 | ResponseErrorTemplate create(UserRequest userRequest); 9 | ResponseErrorTemplate findById(Long id); 10 | ResponseErrorTemplate findByUsername(String username); 11 | 12 | } 13 | -------------------------------------------------------------------------------- /4. Security with Spring Boot/#2 spring-security-jwt-authorization/src/test/java/com/rean/SpringSecurityJwtAuthorizationApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class SpringSecurityJwtAuthorizationApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /4. Security with Spring Boot/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/4. Security with Spring Boot/.DS_Store -------------------------------------------------------------------------------- /5. Messaging with Spring Boot/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/5. Messaging with Spring Boot/.DS_Store -------------------------------------------------------------------------------- /5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/.DS_Store -------------------------------------------------------------------------------- /5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | # Editor-based HTTP Client requests 5 | /httpRequests/ 6 | # Datasource local storage ignored files 7 | /dataSources/ 8 | /dataSources.local.xml 9 | -------------------------------------------------------------------------------- /5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/consumer-services/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/consumer-services/.DS_Store -------------------------------------------------------------------------------- /5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/consumer-services/src/main/java/com/rean/ConsumerServiceApplication.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | 4 | import org.springframework.boot.SpringApplication; 5 | import org.springframework.boot.autoconfigure.SpringBootApplication; 6 | 7 | @SpringBootApplication 8 | public class ConsumerServiceApplication { 9 | public static void main(String[] args) { 10 | SpringApplication.run(ConsumerServiceApplication.class, args); 11 | } 12 | } -------------------------------------------------------------------------------- /5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/consumer-services/src/main/java/com/rean/repository/NotificationRepository.java: -------------------------------------------------------------------------------- 1 | package com.rean.repository; 2 | 3 | import com.rean.model.Notification; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface NotificationRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/consumer-services/target/classes/com/rean/ConsumerServiceApplication.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/consumer-services/target/classes/com/rean/ConsumerServiceApplication.class -------------------------------------------------------------------------------- /5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/consumer-services/target/classes/com/rean/config/ConsumerKafkaConfig$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/consumer-services/target/classes/com/rean/config/ConsumerKafkaConfig$1.class -------------------------------------------------------------------------------- /5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/consumer-services/target/classes/com/rean/config/ConsumerKafkaConfig.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/consumer-services/target/classes/com/rean/config/ConsumerKafkaConfig.class -------------------------------------------------------------------------------- /5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/consumer-services/target/classes/com/rean/dto/NotificationRequest$NotificationRequestBuilder.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/consumer-services/target/classes/com/rean/dto/NotificationRequest$NotificationRequestBuilder.class -------------------------------------------------------------------------------- /5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/consumer-services/target/classes/com/rean/dto/NotificationRequest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/consumer-services/target/classes/com/rean/dto/NotificationRequest.class -------------------------------------------------------------------------------- /5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/consumer-services/target/classes/com/rean/model/Notification$NotificationBuilder.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/consumer-services/target/classes/com/rean/model/Notification$NotificationBuilder.class -------------------------------------------------------------------------------- /5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/consumer-services/target/classes/com/rean/model/Notification.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/consumer-services/target/classes/com/rean/model/Notification.class -------------------------------------------------------------------------------- /5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/consumer-services/target/classes/com/rean/repository/NotificationRepository.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/consumer-services/target/classes/com/rean/repository/NotificationRepository.class -------------------------------------------------------------------------------- /5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/consumer-services/target/classes/com/rean/service/NotificationConsumerService.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/consumer-services/target/classes/com/rean/service/NotificationConsumerService.class -------------------------------------------------------------------------------- /5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/docker-compose.yml: -------------------------------------------------------------------------------- 1 | services: 2 | 3 | zookeeper: 4 | image: zookeeper 5 | restart: always 6 | container_name: zookeeper 7 | ports: 8 | - "2181:2181" 9 | kafka: 10 | image: wurstmeister/kafka 11 | container_name: kafka 12 | restart: always 13 | ports: 14 | - "9092:9092" 15 | environment: 16 | KAFKA_ADVERTISED_HOST_NAME: localhost 17 | KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 -------------------------------------------------------------------------------- /5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/producer-service/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/producer-service/.DS_Store -------------------------------------------------------------------------------- /5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/producer-service/src/main/java/com/rean/ProducerServiceApplication.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | 4 | import org.springframework.boot.SpringApplication; 5 | import org.springframework.boot.autoconfigure.SpringBootApplication; 6 | 7 | @SpringBootApplication 8 | public class ProducerServiceApplication { 9 | public static void main(String[] args) { 10 | SpringApplication.run(ProducerServiceApplication.class, args); 11 | } 12 | } -------------------------------------------------------------------------------- /5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/producer-service/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application: 3 | name: producer-services 4 | kafka: 5 | bootstrap-servers: http://localhost:9092 6 | consumer: 7 | group-id: notification-id 8 | topic: 9 | notification: notification -------------------------------------------------------------------------------- /5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/producer-service/target/classes/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application: 3 | name: producer-services 4 | kafka: 5 | bootstrap-servers: http://localhost:9092 6 | consumer: 7 | group-id: notification-id 8 | topic: 9 | notification: notification -------------------------------------------------------------------------------- /5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/producer-service/target/classes/com/rean/ProducerServiceApplication.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/producer-service/target/classes/com/rean/ProducerServiceApplication.class -------------------------------------------------------------------------------- /5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/producer-service/target/classes/com/rean/config/KafkaTopConfig.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/producer-service/target/classes/com/rean/config/KafkaTopConfig.class -------------------------------------------------------------------------------- /5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/producer-service/target/classes/com/rean/config/ProducerKafkaConfig$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/producer-service/target/classes/com/rean/config/ProducerKafkaConfig$1.class -------------------------------------------------------------------------------- /5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/producer-service/target/classes/com/rean/config/ProducerKafkaConfig$2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/producer-service/target/classes/com/rean/config/ProducerKafkaConfig$2.class -------------------------------------------------------------------------------- /5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/producer-service/target/classes/com/rean/config/ProducerKafkaConfig.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/producer-service/target/classes/com/rean/config/ProducerKafkaConfig.class -------------------------------------------------------------------------------- /5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/producer-service/target/classes/com/rean/controller/NotificationController.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/producer-service/target/classes/com/rean/controller/NotificationController.class -------------------------------------------------------------------------------- /5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/producer-service/target/classes/com/rean/dto/NotificationRequest$NotificationRequestBuilder.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/producer-service/target/classes/com/rean/dto/NotificationRequest$NotificationRequestBuilder.class -------------------------------------------------------------------------------- /5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/producer-service/target/classes/com/rean/dto/NotificationRequest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/5. Messaging with Spring Boot/kafka-message-with-spring-boot-3/producer-service/target/classes/com/rean/dto/NotificationRequest.class -------------------------------------------------------------------------------- /5. Messaging with Spring Boot/rabbitmq-message-with-spring-boot-3/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/5. Messaging with Spring Boot/rabbitmq-message-with-spring-boot-3/.DS_Store -------------------------------------------------------------------------------- /5. Messaging with Spring Boot/rabbitmq-message-with-spring-boot-3/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/5. Messaging with Spring Boot/rabbitmq-message-with-spring-boot-3/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /5. Messaging with Spring Boot/rabbitmq-message-with-spring-boot-3/docker-compose.yml: -------------------------------------------------------------------------------- 1 | services: 2 | 3 | rabbitmq: 4 | image: rabbitmq:3.11.11-management-alpine 5 | container_name: rabbitmq 6 | ports: 7 | - "5672:5672" 8 | - "15672:15672" 9 | networks: 10 | - spring 11 | 12 | 13 | #### 14 | networks: 15 | spring: 16 | driver: bridge -------------------------------------------------------------------------------- /5. Messaging with Spring Boot/rabbitmq-message-with-spring-boot-3/src/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/5. Messaging with Spring Boot/rabbitmq-message-with-spring-boot-3/src/.DS_Store -------------------------------------------------------------------------------- /5. Messaging with Spring Boot/rabbitmq-message-with-spring-boot-3/src/main/java/com/rean/RabbitmqMessageWithSpringBoot3Application.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class RabbitmqMessageWithSpringBoot3Application { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(RabbitmqMessageWithSpringBoot3Application.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /5. Messaging with Spring Boot/rabbitmq-message-with-spring-boot-3/src/main/java/com/rean/repository/NotificationRepository.java: -------------------------------------------------------------------------------- 1 | package com.rean.repository; 2 | 3 | import com.rean.model.Notification; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface NotificationRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /5. Messaging with Spring Boot/rabbitmq-message-with-spring-boot-3/src/test/java/com/rean/RabbitmqMessageWithSpringBoot3ApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class RabbitmqMessageWithSpringBoot3ApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /7. Spring Integration and Spring Cloud/#1 reload-spring-application/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/7. Spring Integration and Spring Cloud/#1 reload-spring-application/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /7. Spring Integration and Spring Cloud/#1 reload-spring-application/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.4/apache-maven-3.8.4-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar 3 | -------------------------------------------------------------------------------- /7. Spring Integration and Spring Cloud/#1 reload-spring-application/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | management.endpoint.restart.enabled=true 3 | management.endpoints.web.exposure.include=restart,health -------------------------------------------------------------------------------- /7. Spring Integration and Spring Cloud/#1 reload-spring-application/src/test/java/com/rean/ReloadSpringApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class ReloadSpringApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /7. Spring Integration and Spring Cloud/#2 spring-cloud-sleuth-zipkin/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/7. Spring Integration and Spring Cloud/#2 spring-cloud-sleuth-zipkin/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /7. Spring Integration and Spring Cloud/#2 spring-cloud-sleuth-zipkin/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar 3 | -------------------------------------------------------------------------------- /7. Spring Integration and Spring Cloud/#2 spring-cloud-sleuth-zipkin/src/main/java/com/rean/SpringCloudSleuthZipkinApplication.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class SpringCloudSleuthZipkinApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(SpringCloudSleuthZipkinApplication.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /7. Spring Integration and Spring Cloud/#2 spring-cloud-sleuth-zipkin/src/main/java/com/rean/dto/request/CourseFilterRequest.java: -------------------------------------------------------------------------------- 1 | package com.rean.dto.request; 2 | 3 | import lombok.Data; 4 | import lombok.EqualsAndHashCode; 5 | 6 | import java.math.BigDecimal; 7 | 8 | @Data 9 | @EqualsAndHashCode(callSuper = false) 10 | public class CourseFilterRequest extends PaginationRequest{ 11 | 12 | private String name; 13 | private BigDecimal price; 14 | } 15 | -------------------------------------------------------------------------------- /7. Spring Integration and Spring Cloud/#2 spring-cloud-sleuth-zipkin/src/main/java/com/rean/dto/request/CourseRequest.java: -------------------------------------------------------------------------------- 1 | package com.rean.dto.request; 2 | 3 | 4 | import com.fasterxml.jackson.annotation.JsonProperty; 5 | import lombok.Builder; 6 | import lombok.Data; 7 | import java.math.BigDecimal; 8 | 9 | @Data 10 | @Builder 11 | public class CourseRequest { 12 | 13 | private Long id; 14 | 15 | @JsonProperty("name") 16 | private String name; 17 | @JsonProperty("c_desc") 18 | private String desc; 19 | @JsonProperty("price") 20 | private BigDecimal price; 21 | } 22 | -------------------------------------------------------------------------------- /7. Spring Integration and Spring Cloud/#2 spring-cloud-sleuth-zipkin/src/main/java/com/rean/dto/response/CourseResponse.java: -------------------------------------------------------------------------------- 1 | package com.rean.dto.response; 2 | 3 | 4 | import com.fasterxml.jackson.annotation.JsonProperty; 5 | import lombok.Builder; 6 | import lombok.Data; 7 | import java.math.BigDecimal; 8 | 9 | @Data 10 | @Builder 11 | public class CourseResponse { 12 | 13 | private Long id; 14 | @JsonProperty("name") 15 | private String name; 16 | @JsonProperty("c_desc") 17 | private String desc; 18 | @JsonProperty("price") 19 | private BigDecimal price; 20 | } 21 | -------------------------------------------------------------------------------- /7. Spring Integration and Spring Cloud/#2 spring-cloud-sleuth-zipkin/src/main/java/com/rean/dto/response/CourseResponsePagination.java: -------------------------------------------------------------------------------- 1 | package com.rean.dto.response; 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | 7 | import java.util.List; 8 | 9 | @Data 10 | @Builder 11 | public class CourseResponsePagination { 12 | 13 | @JsonProperty("courses") 14 | private List courseResponses; 15 | 16 | @JsonProperty("page_detail") 17 | private PaginationResponse paginationResponse; 18 | 19 | } 20 | -------------------------------------------------------------------------------- /7. Spring Integration and Spring Cloud/#2 spring-cloud-sleuth-zipkin/src/main/java/com/rean/exception/CourseNotFoundException.java: -------------------------------------------------------------------------------- 1 | package com.rean.exception; 2 | 3 | public class CourseNotFoundException extends RuntimeException { 4 | 5 | public CourseNotFoundException(Long id) { 6 | 7 | super(String.format("Course Id %d not found", id)); 8 | } 9 | } -------------------------------------------------------------------------------- /7. Spring Integration and Spring Cloud/#2 spring-cloud-sleuth-zipkin/src/main/java/com/rean/exception/MyIllegalArgumentException.java: -------------------------------------------------------------------------------- 1 | package com.rean.exception; 2 | 3 | public class MyIllegalArgumentException extends IllegalArgumentException{ 4 | 5 | public MyIllegalArgumentException() { 6 | super("Parameter value %d did not match expected type"); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /7. Spring Integration and Spring Cloud/#2 spring-cloud-sleuth-zipkin/src/main/java/com/rean/exception/NoDataFoundException.java: -------------------------------------------------------------------------------- 1 | package com.rean.exception; 2 | 3 | public class NoDataFoundException extends RuntimeException { 4 | 5 | public NoDataFoundException() { 6 | super("No data found"); 7 | } 8 | } -------------------------------------------------------------------------------- /7. Spring Integration and Spring Cloud/#2 spring-cloud-sleuth-zipkin/src/test/java/com/rean/SpringCloudSleuthZipkinApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class SpringCloudSleuthZipkinApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /7. Spring Integration and Spring Cloud/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/7. Spring Integration and Spring Cloud/.DS_Store -------------------------------------------------------------------------------- /microservices with spring boot 3/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/.DS_Store -------------------------------------------------------------------------------- /microservices with spring boot 3/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | # Editor-based HTTP Client requests 5 | /httpRequests/ 6 | # Datasource local storage ignored files 7 | /dataSources/ 8 | /dataSources.local.xml 9 | -------------------------------------------------------------------------------- /microservices with spring boot 3/api-gateway/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/api-gateway/.DS_Store -------------------------------------------------------------------------------- /microservices with spring boot 3/api-gateway/src/main/java/com/rean/apigateway/ApiGatewayApplication.java: -------------------------------------------------------------------------------- 1 | package com.rean.apigateway; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class ApiGatewayApplication { 8 | public static void main(String[] args) { 9 | SpringApplication.run(ApiGatewayApplication.class, args); 10 | } 11 | } -------------------------------------------------------------------------------- /microservices with spring boot 3/api-gateway/src/main/resources/banner.txt: -------------------------------------------------------------------------------- 1 | ,---. ,------. ,--. ,----. ,--. 2 | / O \ | .--. '| | ' .-./ ,--,--.,-' '-. ,---. ,--. ,--. ,--,--.,--. ,--. 3 | | .-. || '--' || | | | .---.' ,-. |'-. .-'| .-. :| |.'.| |' ,-. | \ ' / 4 | | | | || | --' | | ' '--' |\ '-' | | | \ --.| .'. |\ '-' | \ ' 5 | `--' `--'`--' `--' `------' `--`--' `--' `----''--' '--' `--`--'.-' / 6 | `---' -------------------------------------------------------------------------------- /microservices with spring boot 3/api-gateway/target/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/api-gateway/target/.DS_Store -------------------------------------------------------------------------------- /microservices with spring boot 3/api-gateway/target/classes/banner.txt: -------------------------------------------------------------------------------- 1 | ,---. ,------. ,--. ,----. ,--. 2 | / O \ | .--. '| | ' .-./ ,--,--.,-' '-. ,---. ,--. ,--. ,--,--.,--. ,--. 3 | | .-. || '--' || | | | .---.' ,-. |'-. .-'| .-. :| |.'.| |' ,-. | \ ' / 4 | | | | || | --' | | ' '--' |\ '-' | | | \ --.| .'. |\ '-' | \ ' 5 | `--' `--'`--' `--' `------' `--`--' `--' `----''--' '--' `--`--'.-' / 6 | `---' -------------------------------------------------------------------------------- /microservices with spring boot 3/api-gateway/target/classes/com/rean/apigateway/ApiGatewayApplication 2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/api-gateway/target/classes/com/rean/apigateway/ApiGatewayApplication 2.class -------------------------------------------------------------------------------- /microservices with spring boot 3/api-gateway/target/classes/com/rean/apigateway/ApiGatewayApplication.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/api-gateway/target/classes/com/rean/apigateway/ApiGatewayApplication.class -------------------------------------------------------------------------------- /microservices with spring boot 3/clients/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/clients/.DS_Store -------------------------------------------------------------------------------- /microservices with spring boot 3/clients/src/main/java/com/rean/clients/fraud/FraudCheckResponse.java: -------------------------------------------------------------------------------- 1 | package com.rean.clients.fraud; 2 | 3 | public record FraudCheckResponse(boolean isFraudulentCustomer) { 4 | } 5 | -------------------------------------------------------------------------------- /microservices with spring boot 3/clients/src/main/java/com/rean/clients/fraud/FraudClient.java: -------------------------------------------------------------------------------- 1 | package com.rean.clients.fraud; 2 | 3 | import org.springframework.cloud.openfeign.FeignClient; 4 | import org.springframework.web.bind.annotation.PostMapping; 5 | import org.springframework.web.bind.annotation.RequestBody; 6 | 7 | @FeignClient("fraud-services") 8 | public interface FraudClient { 9 | @PostMapping(path = "api/v1/fraud-checks") 10 | FraudCheckResponse checkCustomer(@RequestBody FraudRequest fraudRequest); 11 | } 12 | -------------------------------------------------------------------------------- /microservices with spring boot 3/clients/src/main/java/com/rean/clients/fraud/FraudRequest.java: -------------------------------------------------------------------------------- 1 | package com.rean.clients.fraud; 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty; 4 | 5 | public record FraudRequest( 6 | @JsonProperty("id_type") String idType, 7 | @JsonProperty("id_value") String idValue) { 8 | } 9 | -------------------------------------------------------------------------------- /microservices with spring boot 3/clients/src/main/java/com/rean/clients/notification/NotificationClient.java: -------------------------------------------------------------------------------- 1 | package com.rean.clients.notification; 2 | 3 | import org.springframework.cloud.openfeign.FeignClient; 4 | import org.springframework.web.bind.annotation.PostMapping; 5 | 6 | @FeignClient( 7 | name = "notification-services" 8 | ) 9 | public interface NotificationClient { 10 | 11 | @PostMapping("api/v1/notifications") 12 | void sendNotification(NotificationRequest notificationRequest); 13 | } -------------------------------------------------------------------------------- /microservices with spring boot 3/clients/src/main/resources/client.default.properties: -------------------------------------------------------------------------------- 1 | clients.customer.url=http://localhost:8080 2 | clients.fraud.url=http://localhost:8081 3 | clients.notification.url=http://localhost:8082 -------------------------------------------------------------------------------- /microservices with spring boot 3/clients/target/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/clients/target/.DS_Store -------------------------------------------------------------------------------- /microservices with spring boot 3/clients/target/classes/client.default.properties: -------------------------------------------------------------------------------- 1 | clients.customer.url=http://localhost:8080 2 | clients.fraud.url=http://localhost:8081 3 | clients.notification.url=http://localhost:8082 -------------------------------------------------------------------------------- /microservices with spring boot 3/clients/target/classes/com/rean/clients/fraud/FraudCheckResponse 2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/clients/target/classes/com/rean/clients/fraud/FraudCheckResponse 2.class -------------------------------------------------------------------------------- /microservices with spring boot 3/clients/target/classes/com/rean/clients/fraud/FraudCheckResponse.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/clients/target/classes/com/rean/clients/fraud/FraudCheckResponse.class -------------------------------------------------------------------------------- /microservices with spring boot 3/clients/target/classes/com/rean/clients/fraud/FraudClient.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/clients/target/classes/com/rean/clients/fraud/FraudClient.class -------------------------------------------------------------------------------- /microservices with spring boot 3/clients/target/classes/com/rean/clients/fraud/FraudRequest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/clients/target/classes/com/rean/clients/fraud/FraudRequest.class -------------------------------------------------------------------------------- /microservices with spring boot 3/clients/target/classes/com/rean/clients/notification/NotificationClient 2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/clients/target/classes/com/rean/clients/notification/NotificationClient 2.class -------------------------------------------------------------------------------- /microservices with spring boot 3/clients/target/classes/com/rean/clients/notification/NotificationClient.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/clients/target/classes/com/rean/clients/notification/NotificationClient.class -------------------------------------------------------------------------------- /microservices with spring boot 3/clients/target/classes/com/rean/clients/notification/NotificationRequest$NotificationRequestBuilder.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/clients/target/classes/com/rean/clients/notification/NotificationRequest$NotificationRequestBuilder.class -------------------------------------------------------------------------------- /microservices with spring boot 3/clients/target/classes/com/rean/clients/notification/NotificationRequest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/clients/target/classes/com/rean/clients/notification/NotificationRequest.class -------------------------------------------------------------------------------- /microservices with spring boot 3/config-server/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/config-server/.DS_Store -------------------------------------------------------------------------------- /microservices with spring boot 3/config-server/src/main/java/com/rean/ConfigServerApplication.java: -------------------------------------------------------------------------------- 1 | package com.rean; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | import org.springframework.cloud.config.server.EnableConfigServer; 6 | 7 | @SpringBootApplication 8 | @EnableConfigServer 9 | public class ConfigServerApplication { 10 | public static void main(String[] args) { 11 | SpringApplication.run(ConfigServerApplication.class, args); 12 | } 13 | } -------------------------------------------------------------------------------- /microservices with spring boot 3/config-server/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 8888 3 | spring: 4 | profiles: 5 | active: native 6 | cloud: 7 | config: 8 | server: 9 | native: 10 | search-locations: 11 | - classpath:config/customer-services 12 | - classpath:config/fraud-services 13 | management: 14 | endpoints: 15 | web: 16 | exposure: 17 | include: '*' -------------------------------------------------------------------------------- /microservices with spring boot 3/config-server/src/main/resources/bootstrap.yml: -------------------------------------------------------------------------------- 1 | encrypt: 2 | key: '*' 3 | spring: 4 | application: 5 | name: cloud-config-server -------------------------------------------------------------------------------- /microservices with spring boot 3/config-server/src/main/resources/config/README.MD: -------------------------------------------------------------------------------- 1 | https://cloud.spring.io/spring-cloud-config/reference/html/ -------------------------------------------------------------------------------- /microservices with spring boot 3/config-server/src/main/resources/config/fraud-services/fraud-services-dev.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/config-server/src/main/resources/config/fraud-services/fraud-services-dev.yml -------------------------------------------------------------------------------- /microservices with spring boot 3/config-server/target/classes/application.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 8888 3 | spring: 4 | profiles: 5 | active: native 6 | cloud: 7 | config: 8 | server: 9 | native: 10 | search-locations: 11 | - classpath:config/customer-services 12 | - classpath:config/fraud-services 13 | management: 14 | endpoints: 15 | web: 16 | exposure: 17 | include: '*' -------------------------------------------------------------------------------- /microservices with spring boot 3/config-server/target/classes/bootstrap.yml: -------------------------------------------------------------------------------- 1 | encrypt: 2 | key: '*' 3 | spring: 4 | application: 5 | name: cloud-config-server -------------------------------------------------------------------------------- /microservices with spring boot 3/config-server/target/classes/com/rean/ConfigServerApplication.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/config-server/target/classes/com/rean/ConfigServerApplication.class -------------------------------------------------------------------------------- /microservices with spring boot 3/config-server/target/classes/config/README.MD: -------------------------------------------------------------------------------- 1 | https://cloud.spring.io/spring-cloud-config/reference/html/ -------------------------------------------------------------------------------- /microservices with spring boot 3/config-server/target/classes/config/fraud-services/fraud-services-dev.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/config-server/target/classes/config/fraud-services/fraud-services-dev.yml -------------------------------------------------------------------------------- /microservices with spring boot 3/customer-services/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/customer-services/.DS_Store -------------------------------------------------------------------------------- /microservices with spring boot 3/customer-services/src/main/java/com/rean/customer/config/AppConfig.java: -------------------------------------------------------------------------------- 1 | package com.rean.customer.config; 2 | 3 | import org.springframework.cloud.client.loadbalancer.LoadBalanced; 4 | import org.springframework.context.annotation.Bean; 5 | import org.springframework.context.annotation.Configuration; 6 | import org.springframework.web.client.RestTemplate; 7 | 8 | @Configuration 9 | public class AppConfig { 10 | 11 | @Bean 12 | @LoadBalanced 13 | public RestTemplate restTemplate() { 14 | return new RestTemplate(); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /microservices with spring boot 3/customer-services/src/main/java/com/rean/customer/repository/CustomerRepository.java: -------------------------------------------------------------------------------- 1 | package com.rean.customer.repository; 2 | 3 | import com.rean.customer.model.Customer; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface CustomerRepository extends JpaRepository { 9 | 10 | Customer findAllById(Integer id); 11 | } -------------------------------------------------------------------------------- /microservices with spring boot 3/customer-services/src/main/resources/banner.txt: -------------------------------------------------------------------------------- 1 | ,-----. ,--. 2 | ' .--./,--.,--. ,---.,-' '-. ,---. ,--,--,--.,---. ,--.--. 3 | | | | || |( .-''-. .-'| .-. || | .-. :| .--' 4 | ' '--'\' '' '.-' `) | | ' '-' '| | | \ --.| | 5 | `-----' `----' `----' `--' `---' `--`--`--'`----'`--' -------------------------------------------------------------------------------- /microservices with spring boot 3/customer-services/target/classes/banner 2.txt: -------------------------------------------------------------------------------- 1 | ,-----. ,--. 2 | ' .--./,--.,--. ,---.,-' '-. ,---. ,--,--,--.,---. ,--.--. 3 | | | | || |( .-''-. .-'| .-. || | .-. :| .--' 4 | ' '--'\' '' '.-' `) | | ' '-' '| | | \ --.| | 5 | `-----' `----' `----' `--' `---' `--`--`--'`----'`--' -------------------------------------------------------------------------------- /microservices with spring boot 3/customer-services/target/classes/banner.txt: -------------------------------------------------------------------------------- 1 | ,-----. ,--. 2 | ' .--./,--.,--. ,---.,-' '-. ,---. ,--,--,--.,---. ,--.--. 3 | | | | || |( .-''-. .-'| .-. || | .-. :| .--' 4 | ' '--'\' '' '.-' `) | | ' '-' '| | | \ --.| | 5 | `-----' `----' `----' `--' `---' `--`--`--'`----'`--' -------------------------------------------------------------------------------- /microservices with spring boot 3/customer-services/target/classes/com/rean/customer/CustomerApplication.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/customer-services/target/classes/com/rean/customer/CustomerApplication.class -------------------------------------------------------------------------------- /microservices with spring boot 3/customer-services/target/classes/com/rean/customer/config/AppConfig 2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/customer-services/target/classes/com/rean/customer/config/AppConfig 2.class -------------------------------------------------------------------------------- /microservices with spring boot 3/customer-services/target/classes/com/rean/customer/config/AppConfig.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/customer-services/target/classes/com/rean/customer/config/AppConfig.class -------------------------------------------------------------------------------- /microservices with spring boot 3/customer-services/target/classes/com/rean/customer/config/KafkaProducerConfig$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/customer-services/target/classes/com/rean/customer/config/KafkaProducerConfig$1.class -------------------------------------------------------------------------------- /microservices with spring boot 3/customer-services/target/classes/com/rean/customer/config/KafkaProducerConfig$2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/customer-services/target/classes/com/rean/customer/config/KafkaProducerConfig$2.class -------------------------------------------------------------------------------- /microservices with spring boot 3/customer-services/target/classes/com/rean/customer/config/KafkaProducerConfig.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/customer-services/target/classes/com/rean/customer/config/KafkaProducerConfig.class -------------------------------------------------------------------------------- /microservices with spring boot 3/customer-services/target/classes/com/rean/customer/config/KafkaTopConfig.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/customer-services/target/classes/com/rean/customer/config/KafkaTopConfig.class -------------------------------------------------------------------------------- /microservices with spring boot 3/customer-services/target/classes/com/rean/customer/controller/CustomerController 2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/customer-services/target/classes/com/rean/customer/controller/CustomerController 2.class -------------------------------------------------------------------------------- /microservices with spring boot 3/customer-services/target/classes/com/rean/customer/controller/CustomerController.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/customer-services/target/classes/com/rean/customer/controller/CustomerController.class -------------------------------------------------------------------------------- /microservices with spring boot 3/customer-services/target/classes/com/rean/customer/data/CustomerRegistrationRequest 2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/customer-services/target/classes/com/rean/customer/data/CustomerRegistrationRequest 2.class -------------------------------------------------------------------------------- /microservices with spring boot 3/customer-services/target/classes/com/rean/customer/data/CustomerRegistrationRequest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/customer-services/target/classes/com/rean/customer/data/CustomerRegistrationRequest.class -------------------------------------------------------------------------------- /microservices with spring boot 3/customer-services/target/classes/com/rean/customer/model/Customer 2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/customer-services/target/classes/com/rean/customer/model/Customer 2.class -------------------------------------------------------------------------------- /microservices with spring boot 3/customer-services/target/classes/com/rean/customer/model/Customer$CustomerBuilder.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/customer-services/target/classes/com/rean/customer/model/Customer$CustomerBuilder.class -------------------------------------------------------------------------------- /microservices with spring boot 3/customer-services/target/classes/com/rean/customer/model/Customer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/customer-services/target/classes/com/rean/customer/model/Customer.class -------------------------------------------------------------------------------- /microservices with spring boot 3/customer-services/target/classes/com/rean/customer/repository/CustomerRepository 2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/customer-services/target/classes/com/rean/customer/repository/CustomerRepository 2.class -------------------------------------------------------------------------------- /microservices with spring boot 3/customer-services/target/classes/com/rean/customer/repository/CustomerRepository.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/customer-services/target/classes/com/rean/customer/repository/CustomerRepository.class -------------------------------------------------------------------------------- /microservices with spring boot 3/customer-services/target/classes/com/rean/customer/service/CustomerService 2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/customer-services/target/classes/com/rean/customer/service/CustomerService 2.class -------------------------------------------------------------------------------- /microservices with spring boot 3/customer-services/target/classes/com/rean/customer/service/CustomerService.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/customer-services/target/classes/com/rean/customer/service/CustomerService.class -------------------------------------------------------------------------------- /microservices with spring boot 3/eureka-server/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/eureka-server/.DS_Store -------------------------------------------------------------------------------- /microservices with spring boot 3/eureka-server/src/main/java/com/rean/eurekaserver/EurekaServerApplication.java: -------------------------------------------------------------------------------- 1 | package com.rean.eurekaserver; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; 6 | 7 | @SpringBootApplication 8 | @EnableEurekaServer 9 | public class EurekaServerApplication { 10 | 11 | public static void main(String[] args) { 12 | SpringApplication.run(EurekaServerApplication.class, args); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /microservices with spring boot 3/eureka-server/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application: 3 | name: eureka-server 4 | freemarker: 5 | prefer-file-system-access: false 6 | config: 7 | import: "optional:configserver:http://localhost:8088" 8 | server: 9 | port: 8761 10 | 11 | eureka: 12 | instance: 13 | hostname: localhost 14 | client: 15 | register-with-eureka: false 16 | fetch-registry: false -------------------------------------------------------------------------------- /microservices with spring boot 3/eureka-server/src/main/resources/banner.txt: -------------------------------------------------------------------------------- 1 | ,------. ,--. ,---. 2 | | .---',--.,--.,--.--. ,---. | |,-. ,--,--. ' .-' ,---. ,--.--.,--. ,--.,---. ,--.--. 3 | | `--, | || || .--'| .-. :| /' ,-. | `. `-.| .-. :| .--' \ `' /| .-. :| .--' 4 | | `---.' '' '| | \ --.| \ \\ '-' | .-' \ --.| | \ / \ --.| | 5 | `------' `----' `--' `----'`--'`--'`--`--' `-----' `----'`--' `--' `----'`--' -------------------------------------------------------------------------------- /microservices with spring boot 3/eureka-server/target/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/eureka-server/target/.DS_Store -------------------------------------------------------------------------------- /microservices with spring boot 3/eureka-server/target/classes/application.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 8761 3 | 4 | spring: 5 | application: 6 | name: eureka-server 7 | 8 | eureka: 9 | client: 10 | fetch-registry: false 11 | register-with-eureka: false -------------------------------------------------------------------------------- /microservices with spring boot 3/eureka-server/target/classes/banner 2.txt: -------------------------------------------------------------------------------- 1 | ,------. ,--. ,---. 2 | | .---',--.,--.,--.--. ,---. | |,-. ,--,--. ' .-' ,---. ,--.--.,--. ,--.,---. ,--.--. 3 | | `--, | || || .--'| .-. :| /' ,-. | `. `-.| .-. :| .--' \ `' /| .-. :| .--' 4 | | `---.' '' '| | \ --.| \ \\ '-' | .-' \ --.| | \ / \ --.| | 5 | `------' `----' `--' `----'`--'`--'`--`--' `-----' `----'`--' `--' `----'`--' -------------------------------------------------------------------------------- /microservices with spring boot 3/eureka-server/target/classes/banner.txt: -------------------------------------------------------------------------------- 1 | ,------. ,--. ,---. 2 | | .---',--.,--.,--.--. ,---. | |,-. ,--,--. ' .-' ,---. ,--.--.,--. ,--.,---. ,--.--. 3 | | `--, | || || .--'| .-. :| /' ,-. | `. `-.| .-. :| .--' \ `' /| .-. :| .--' 4 | | `---.' '' '| | \ --.| \ \\ '-' | .-' \ --.| | \ / \ --.| | 5 | `------' `----' `--' `----'`--'`--'`--`--' `-----' `----'`--' `--' `----'`--' -------------------------------------------------------------------------------- /microservices with spring boot 3/eureka-server/target/classes/com/rean/eurekaserver/EurekaServerApplication 2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/eureka-server/target/classes/com/rean/eurekaserver/EurekaServerApplication 2.class -------------------------------------------------------------------------------- /microservices with spring boot 3/eureka-server/target/classes/com/rean/eurekaserver/EurekaServerApplication.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/eureka-server/target/classes/com/rean/eurekaserver/EurekaServerApplication.class -------------------------------------------------------------------------------- /microservices with spring boot 3/fraud-services/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/fraud-services/.DS_Store -------------------------------------------------------------------------------- /microservices with spring boot 3/fraud-services/src/main/java/com/rean/fraud/FraudApplication.java: -------------------------------------------------------------------------------- 1 | package com.rean.fraud; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class FraudApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(FraudApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /microservices with spring boot 3/fraud-services/src/main/java/com/rean/fraud/repository/FraudCustomerCheckRepository.java: -------------------------------------------------------------------------------- 1 | package com.rean.fraud.repository; 2 | 3 | import com.rean.fraud.model.FraudCustomerCheck; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | import java.util.Optional; 8 | 9 | @Repository 10 | public interface FraudCustomerCheckRepository extends JpaRepository { 11 | Optional findAllByIdTypeAndIdValue(String idType, String idValue); 12 | } 13 | 14 | -------------------------------------------------------------------------------- /microservices with spring boot 3/fraud-services/src/main/resources/banner.txt: -------------------------------------------------------------------------------- 1 | ,------. ,--. 2 | | .---',--.--.,--,--.,--.,--. ,-| | 3 | | `--, | .--' ,-. || || |' .-. | 4 | | |` | | \ '-' |' '' '\ `-' | 5 | `--' `--' `--`--' `----' `---' -------------------------------------------------------------------------------- /microservices with spring boot 3/fraud-services/target/classes/banner 2.txt: -------------------------------------------------------------------------------- 1 | ,------. ,--. 2 | | .---',--.--.,--,--.,--.,--. ,-| | 3 | | `--, | .--' ,-. || || |' .-. | 4 | | |` | | \ '-' |' '' '\ `-' | 5 | `--' `--' `--`--' `----' `---' -------------------------------------------------------------------------------- /microservices with spring boot 3/fraud-services/target/classes/banner.txt: -------------------------------------------------------------------------------- 1 | ,------. ,--. 2 | | .---',--.--.,--,--.,--.,--. ,-| | 3 | | `--, | .--' ,-. || || |' .-. | 4 | | |` | | \ '-' |' '' '\ `-' | 5 | `--' `--' `--`--' `----' `---' -------------------------------------------------------------------------------- /microservices with spring boot 3/fraud-services/target/classes/com/rean/fraud/FraudApplication.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/fraud-services/target/classes/com/rean/fraud/FraudApplication.class -------------------------------------------------------------------------------- /microservices with spring boot 3/fraud-services/target/classes/com/rean/fraud/controller/FraudController 2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/fraud-services/target/classes/com/rean/fraud/controller/FraudController 2.class -------------------------------------------------------------------------------- /microservices with spring boot 3/fraud-services/target/classes/com/rean/fraud/controller/FraudController.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/fraud-services/target/classes/com/rean/fraud/controller/FraudController.class -------------------------------------------------------------------------------- /microservices with spring boot 3/fraud-services/target/classes/com/rean/fraud/model/FraudCustomerCheck 2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/fraud-services/target/classes/com/rean/fraud/model/FraudCustomerCheck 2.class -------------------------------------------------------------------------------- /microservices with spring boot 3/fraud-services/target/classes/com/rean/fraud/model/FraudCustomerCheck$FraudCustomerCheckBuilder.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/fraud-services/target/classes/com/rean/fraud/model/FraudCustomerCheck$FraudCustomerCheckBuilder.class -------------------------------------------------------------------------------- /microservices with spring boot 3/fraud-services/target/classes/com/rean/fraud/model/FraudCustomerCheck.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/fraud-services/target/classes/com/rean/fraud/model/FraudCustomerCheck.class -------------------------------------------------------------------------------- /microservices with spring boot 3/fraud-services/target/classes/com/rean/fraud/repository/FraudCustomerCheckRepository 2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/fraud-services/target/classes/com/rean/fraud/repository/FraudCustomerCheckRepository 2.class -------------------------------------------------------------------------------- /microservices with spring boot 3/fraud-services/target/classes/com/rean/fraud/repository/FraudCustomerCheckRepository.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/fraud-services/target/classes/com/rean/fraud/repository/FraudCustomerCheckRepository.class -------------------------------------------------------------------------------- /microservices with spring boot 3/fraud-services/target/classes/com/rean/fraud/service/FraudCheckCustomerService 2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/fraud-services/target/classes/com/rean/fraud/service/FraudCheckCustomerService 2.class -------------------------------------------------------------------------------- /microservices with spring boot 3/fraud-services/target/classes/com/rean/fraud/service/FraudCheckCustomerService.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/fraud-services/target/classes/com/rean/fraud/service/FraudCheckCustomerService.class -------------------------------------------------------------------------------- /microservices with spring boot 3/notification-services/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/notification-services/.DS_Store -------------------------------------------------------------------------------- /microservices with spring boot 3/notification-services/src/main/java/com/rean/notification/repository/NotificationRepository.java: -------------------------------------------------------------------------------- 1 | package com.rean.notification.repository; 2 | 3 | import com.rean.notification.model.Notification; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | 6 | public interface NotificationRepository extends JpaRepository { 7 | } -------------------------------------------------------------------------------- /microservices with spring boot 3/notification-services/target/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/notification-services/target/.DS_Store -------------------------------------------------------------------------------- /microservices with spring boot 3/notification-services/target/classes/com/rean/notification/NotificationApplication.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/notification-services/target/classes/com/rean/notification/NotificationApplication.class -------------------------------------------------------------------------------- /microservices with spring boot 3/notification-services/target/classes/com/rean/notification/config/KafkaConsumerConfig 2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/notification-services/target/classes/com/rean/notification/config/KafkaConsumerConfig 2.class -------------------------------------------------------------------------------- /microservices with spring boot 3/notification-services/target/classes/com/rean/notification/config/KafkaConsumerConfig$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/notification-services/target/classes/com/rean/notification/config/KafkaConsumerConfig$1.class -------------------------------------------------------------------------------- /microservices with spring boot 3/notification-services/target/classes/com/rean/notification/config/KafkaConsumerConfig.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/notification-services/target/classes/com/rean/notification/config/KafkaConsumerConfig.class -------------------------------------------------------------------------------- /microservices with spring boot 3/notification-services/target/classes/com/rean/notification/config/NotificationConfig.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/notification-services/target/classes/com/rean/notification/config/NotificationConfig.class -------------------------------------------------------------------------------- /microservices with spring boot 3/notification-services/target/classes/com/rean/notification/consumer/KafkaNotificationConsumer 2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/notification-services/target/classes/com/rean/notification/consumer/KafkaNotificationConsumer 2.class -------------------------------------------------------------------------------- /microservices with spring boot 3/notification-services/target/classes/com/rean/notification/consumer/KafkaNotificationConsumer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/notification-services/target/classes/com/rean/notification/consumer/KafkaNotificationConsumer.class -------------------------------------------------------------------------------- /microservices with spring boot 3/notification-services/target/classes/com/rean/notification/consumer/NotificationConsumer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/notification-services/target/classes/com/rean/notification/consumer/NotificationConsumer.class -------------------------------------------------------------------------------- /microservices with spring boot 3/notification-services/target/classes/com/rean/notification/controller/NotificationController 2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/notification-services/target/classes/com/rean/notification/controller/NotificationController 2.class -------------------------------------------------------------------------------- /microservices with spring boot 3/notification-services/target/classes/com/rean/notification/controller/NotificationController.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/notification-services/target/classes/com/rean/notification/controller/NotificationController.class -------------------------------------------------------------------------------- /microservices with spring boot 3/notification-services/target/classes/com/rean/notification/model/Notification$NotificationBuilder 2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/notification-services/target/classes/com/rean/notification/model/Notification$NotificationBuilder 2.class -------------------------------------------------------------------------------- /microservices with spring boot 3/notification-services/target/classes/com/rean/notification/model/Notification$NotificationBuilder.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/notification-services/target/classes/com/rean/notification/model/Notification$NotificationBuilder.class -------------------------------------------------------------------------------- /microservices with spring boot 3/notification-services/target/classes/com/rean/notification/model/Notification.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/notification-services/target/classes/com/rean/notification/model/Notification.class -------------------------------------------------------------------------------- /microservices with spring boot 3/notification-services/target/classes/com/rean/notification/repository/NotificationRepository 2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/notification-services/target/classes/com/rean/notification/repository/NotificationRepository 2.class -------------------------------------------------------------------------------- /microservices with spring boot 3/notification-services/target/classes/com/rean/notification/repository/NotificationRepository.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/notification-services/target/classes/com/rean/notification/repository/NotificationRepository.class -------------------------------------------------------------------------------- /microservices with spring boot 3/notification-services/target/classes/com/rean/notification/service/NotificationService 2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/notification-services/target/classes/com/rean/notification/service/NotificationService 2.class -------------------------------------------------------------------------------- /microservices with spring boot 3/notification-services/target/classes/com/rean/notification/service/NotificationService.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/notification-services/target/classes/com/rean/notification/service/NotificationService.class -------------------------------------------------------------------------------- /microservices with spring boot 3/rabbitmq/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/rabbitmq/.DS_Store -------------------------------------------------------------------------------- /microservices with spring boot 3/rabbitmq/target/classes/com/rean/rabbitmq/RabbitMQConfig 2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/rabbitmq/target/classes/com/rean/rabbitmq/RabbitMQConfig 2.class -------------------------------------------------------------------------------- /microservices with spring boot 3/rabbitmq/target/classes/com/rean/rabbitmq/RabbitMQConfig.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/rabbitmq/target/classes/com/rean/rabbitmq/RabbitMQConfig.class -------------------------------------------------------------------------------- /microservices with spring boot 3/rabbitmq/target/classes/com/rean/rabbitmq/RabbitMQMessageProducer 2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/rabbitmq/target/classes/com/rean/rabbitmq/RabbitMQMessageProducer 2.class -------------------------------------------------------------------------------- /microservices with spring boot 3/rabbitmq/target/classes/com/rean/rabbitmq/RabbitMQMessageProducer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codestorykh/rean-spring-framework/e3c07f803842a62ca82994f34165156da45b215a/microservices with spring boot 3/rabbitmq/target/classes/com/rean/rabbitmq/RabbitMQMessageProducer.class --------------------------------------------------------------------------------