{"id":21493043,"url":"https://github.com/eukolos/painful-difficulty-to-effortless-ease","last_synced_at":"2025-06-10T11:38:15.951Z","repository":{"id":181038287,"uuid":"628951204","full_name":"Eukolos/painful-difficulty-to-effortless-ease","owner":"Eukolos","description":"This repository showcases the differences between Java-only API, Spring Framework and Spring Boot. The repository contains three different services","archived":false,"fork":false,"pushed_at":"2023-07-13T19:15:50.000Z","size":320,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-30T00:11:21.029Z","etag":null,"topics":["java","spring-boot","spring-framework"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Eukolos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-04-17T10:12:19.000Z","updated_at":"2024-11-05T22:02:52.000Z","dependencies_parsed_at":"2023-07-13T20:04:06.938Z","dependency_job_id":null,"html_url":"https://github.com/Eukolos/painful-difficulty-to-effortless-ease","commit_stats":null,"previous_names":["eukolos/painful-difficulty-to-effortless-ease"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eukolos%2Fpainful-difficulty-to-effortless-ease","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eukolos%2Fpainful-difficulty-to-effortless-ease/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eukolos%2Fpainful-difficulty-to-effortless-ease/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eukolos%2Fpainful-difficulty-to-effortless-ease/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Eukolos","download_url":"https://codeload.github.com/Eukolos/painful-difficulty-to-effortless-ease/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250441363,"owners_count":21431161,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","spring-boot","spring-framework"],"created_at":"2024-11-23T15:36:55.664Z","updated_at":"2025-04-23T13:43:20.948Z","avatar_url":"https://github.com/Eukolos.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Comparison of Java-only REST API, Spring Framework and Spring Boot\nThis repository showcases the differences between Java-only API, Spring Framework and Spring Boot. The repository contains three different services:\n\n## Java-only REST API Service without Spring Framework: \nThis service highlights the challenges of developing a REST API using only Java without utilizing the Spring Framework. It clearly demonstrates the effort and complexity required to develop a REST API without the comprehensive features and conveniences provided by Spring Framework.\n* Creating instances in main method\n* Handling transactions\n* Executing SQL queries\n* And more...\n\n  \u003cimg src=\"image/withoutspring.png\" alt=\"image\" /\u003e\n  \u003cimg src=\"image/apiwithoutspring.png\" alt=\"image\" /\u003e\n## Service Developed using Spring Framework: \nThis service demonstrates how to develop a REST API using Spring Framework. As a Java-based framework, Spring Framework offers a wide range of features that enable fast and reliable application development. This service showcases the advantages and conveniences of using Spring Framework.\n\n* Spring beans\n* Handling transactions easily\n* Provided technologies like JDBC, JPA, etc.\n\n   \u003cimg src=\"image/withspring.png\" alt=\"image\" /\u003e\nHowever, there are still a lot of configurations to do like bean configurations. Spring does handle a lot of the challenges in the pure Java approach, but it still requires a lot of work to setup.\n\n## Service Developed using Spring Boot: \nThis service showcases how to develop a REST API using Spring Boot. Spring Boot is making application development faster and easier. This service illustrates the benefits of Spring Boot, such as automatic configuration, quick start templates, and easy deployment.\n\n* Auto configuration\n* Starter dependencies\n* And many more...\n\n    \u003cimg src=\"image/withspringboot.png\" alt=\"image\" /\u003e\nSpring Boot handles all the boilerplate configurations required in the pure Java and Spring approaches. You can focus on writing the business logic.\n\nIn summary, this repository demonstrates how writing enterprise applications become gradually easier from pure Java to Spring to Spring Boot due to the increasing level of abstraction.\nThis repository aims to assist developers in understanding the differences between Basic Java API, Spring Framework and Spring Boot. Each service is developed using a different approach, highlighting the advantages and conveniences provided by Basic Java API, Spring Framework and Spring Boot in a comparative manner. The code examples and documentation in this repository will help developers understand the strengths of Basic Java API, Spring Framework and Spring Boot.\n\n## How to Run?\n\n## Setup and Installation\n\nTo run this project, you will need to have Java 17.\n\n#### Maven\n\n\u003cb\u003e1 )\u003c/b\u003e Download your project from this link shown below\n```\n    git clone https://github.com/Eukolos/painful-difficulty-to-effortless-ease.git\n```\n\n\u003cb\u003e2 )\u003c/b\u003e Go to the projects' home directory shown below\n```\n    cd painful-difficulty-to-effortless-ease/rest-api-withtout-spring\n    cd painful-difficulty-to-effortless-ease/rest-api-with-spring\n    cd painful-difficulty-to-effortless-ease/rest-api-with-spring-boot\n```\n\n\u003cb\u003e3 )\u003c/b\u003e Create native image though this command shown below\n```\n    mvn spring-boot:run\n ```   \n\nContributing\nThis repository is an open-source project and welcomes contributions from developers. Any bug fixes, feature additions, or improvements are appreciated. Please follow the standard GitHub fork and pull request workflow for contributing to this repository.\n```\nbash\nCopy code\n# Clone the repository\ngit clone https://github.com/eukolos/painful-difficulty-to-effortless-ease.git\n\n# Create a new branch\ngit checkout -b my-feature-branch\n\n# Make changes and commit\ngit add .\ngit commit -m \"Add new feature\"\n\n# Push changes to your forked repository\ngit push origin my-feature-branch\n\n# Create a pull request on GitHub from your forked repository\nPlease make sure to adhere to the code of conduct and contribute in a respectful and collaborative manner. Thank you for your contributions!```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feukolos%2Fpainful-difficulty-to-effortless-ease","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feukolos%2Fpainful-difficulty-to-effortless-ease","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feukolos%2Fpainful-difficulty-to-effortless-ease/lists"}