{"repo":"jkazama/ddd-java","free":true,"listed":false,"github":"https://github.com/jkazama/ddd-java","clone":"git clone https://github.com/jkazama/ddd-java.git","description":"Spring Boot + Java [ Evans DDD Sample ]","language":"Java","stars":317,"topics":["java","spring-boot","ddd","devcontainer"],"license":"MIT","category":"api-integrations-sdks","readme_excerpt":"ddd-java --- Preface This is a DDD sample implementation using Spring Boot. It is not a framework, but a simple example of implementation based on Evans's DDD. This approach is straightforward and based on Evans's book, rather than verbose approaches like Clean Architecture or Hexagonal Architecture. Concept of Layering This follows the famous three-layer model, but considers the infrastructure layer as a cross-cutting concern. Layer -------------- ----------------------------------------------------------- UI Receives use case requests Application Use case processing (including external resource access) Domain Pure domain logic (does not depend on external resources) Infrastructure DI container, ORM, and various libraries Usually, the UI layer handles public interactions using Thymeleaf, but this sample assumes the use of different types of clients and only provides APIs through RESTful endpoints. Spring Boot Usage Policy Spring Boot can be used in various ways, but this sample follows the following policies: - Use standard configurations as much as possible, such as DB settings. - Configuration files use YAML. XML files are not used for Bean definitions. - Exception handling is defined at endpoints (RestErrorAdvice). Java Coding Policy - Java 21 or higher - Use Lombok actively to reduce boilerplate code. - Keep names as brief as possible. - Do not overuse interfaces. - DTOs that are part of the domain are defined as inner classes. Resource Structure Refer to the following f","default_branch":null,"files":null,"tree":[],"storefront":"/r/jkazama","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/jkazama/ddd-java/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}