Gradle 3

[Spring] Custom AutoConfiguration 만들어보기

AutoConfiguration이란?Spring Legacy와 Spring Boot의 가장 큰 차이점 중 하나는 설정 방식입니다.  기존의 Spring에서는 XML이나 Java Config를 통해 직접 모든 Bean을 등록해야 했지만,  Spring Boot는 AutoConfiguration을 통해 필요한 Bean을 상황에 맞게 자동으로 등록해줍니다.  Auto-configuration을 사용하고 싶다면 @EnableAutoConfiguration 또는 @SpringBootApplication 어노테이션을 @Configuration 클래스 중 하나에 추가하면 됩니다. 간단한 AutoConfiguration 만들기실제로 나만의 AutoConfiguration 클래스를 만들어보겠습니다. 한국말로 "안녕하세요..

SPRING 2025.04.10

[Spring] MSA(MicroService Architecture) 구현

왜 마이크로서비스를 구현하게 되었는가?기존에는 하나의 Spring Boot 프로젝트 안에 결제, 주문, 인증.인가 등의 기능을 모두 넣는 방식으로 개발을 해왔지만, 실제 서비스에서는 각 도메인을 독립적으로 분리해서 관리하는 방식이 더 일반적이다. 왜 단일 프로젝트가 아닌 마이크로서비스로 구성했는가?단일 모놀리식(Monolithic) 아키텍처는 개발 초기에는 구조가 간단하고 빠르게 구축할 수 있다는 장점이 있다. 하지만 기능이 많아질수록 다음과 같은 문제들이 생긴다:코드베이스가 커져 유지보수가 어려움빌드/배포 시 전체 시스템이 영향을 받음도메인마다 다른 팀이 협업하기 힘듦특정 기능 하나가 문제가 생기면 전체 서비스에 영향을 줄 수 있음반면 마이크로서비스 아키텍처는 각 기능(예: 결제, 주문, 인증.인가 등..

SPRING 2025.04.09

[Spring] Maven vs Gradle

Maven과 Gradle은 Java 애플리케이션의 빌드와 의존성 관리를 위해 널리 사용되는 도구이다. 이 두 도구는 소프트웨어를 컴파일, 테스트, 패키징, 배포하는 데 필요한 프로세스를 자동화하여 개발 생산성을 높이는데 기여한다. Maven은 XML기반의 선언적 방식으로 설정을 정의하며, 전통적인 빌드 도구로 널리 사용되어 왔다. 그에 반해 Gradle은 선언적 방식과 프로그래밍적 방식을 혼합한 DSL(Domain-Specific Language)을 활용하며, 현대적인 빌드 요구사항에 맞춘 유연성과 속도를 제공한다.1. Maven과 Gradle의 주요 차이점기본 철학과 빌드 스크립트항목MavenGradle철학선언적 빌드. XML파일을 사용하여 의존성 선언선언적 + 프로그래밍적 빌드. Groovy 또는 K..

SPRING 2024.12.24