Git Product home page Git Product logo

shamim1979 / spring-boot-axon-microservices Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 33 KB

The project is intended to develop a production-grade Spring based micro-services ecosystem considering various factors, including coding standards, architectural components, and essential frameworks and libraries.

Java 100.00%
axon-framework java-17 lombok mapstruct querydsl spring-boot-3 spring-cloud-config spring-cloud-eureka-server spring-cloud-gateway spring-data-jpa

spring-boot-axon-microservices's Introduction

Spring Boot 3 based project structure for Microservices

Developing a production-grade Spring-based microservices ecosystem requires careful consideration of various factors, including coding standards, architectural components, and essential frameworks and libraries.


Requirements

  • Maven
  • JDK 17
  • Spring boot 3.1.0
  • Spring Cloud Gateway Server
  • Spring Cloud Config Server
  • Spring Cloud Eureka Server
  • Spring Data JPA
  • QueryDsl
  • Specification-Arg-Resolver
  • Lombok
  • MapStruct
  • Spring security will be added soon

Framework and Libraries

  • Maven: Uses Maven Wrapper

  • Java 17: includes Open JDK 17

  • Spring Boot 3: provides an opinionated approach to building microservices. It simplifies the configuration and deployment process, autoconfigures various components, and includes built-in support for creating RESTful APIs. Ensure that you use the latest version of Spring Boot and keep track of any updates or new features introduced.


  • Gateway Server: Use a gateway, such as Spring Cloud Gateway or Netflix Zuul, to handle API routing, load balancing, and security.

  • Config Server: Employ a centralized configuration server, like Spring Cloud Config, to manage configurations for microservices.

  • Eureka Server: Service Registry: Utilize a service registry, such as Netflix Eureka to enable service discovery and registration.


  • Spring Data JPA: Spring Data JPA is a part of the Spring Data project, which provides a high-level abstraction for working with databases in Java applications. It simplifies the development of data access layers by reducing boilerplate code and providing convenient APIs.

  • QueryDsl: QueryDsl is a Java library that provides a type-safe and fluent API for constructing database queries. It helps avoid writing raw SQL queries and provides compile-time validation of queries. Integrate QueryDsl into project to enhance query construction and reduce potential errors.

  • Specification-Arg-Resolver: Specification-Arg-Resolver is a library that simplifies the creation of dynamic queries in Spring Data JPA using Specification objects. It allows constructing complex queries based on provided criteria. By using Specification-Arg-Resolver to build dynamic and flexible queries within microservices ecosystem.

  • Lombok: Lombok is a library that eliminates boilerplate code by providing annotations to generate getter/setter methods, constructors, equals/hashCode methods, and more. It helps reduce code verbosity and improves developer productivity. Incorporate Lombok into project to simplify the codebase.

  • MapStruct: MapStruct is a code generation library for mapping Java bean properties between different classes. It eliminates the need for writing repetitive mapping code manually. MapStruct generates efficient, type-safe mapping code based on annotations and conventions. Using MapStruct to simplify object mapping in microservices.

spring-boot-axon-microservices's People

Contributors

shamim1979 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.