Spring Bean이란?
개발2025. 3. 22. 16:58Spring Bean이란?

Spring Bean이란?1. Spring Bean의 개념Spring Bean은 Spring 프레임워크의 IoC(Inversion of Control, 제어의 역전) 컨테이너에 의해 생성, 관리되는 객체입니다. 일반적인 Java 객체(POJO, Plain Old Java Object)와 달리, Spring Bean은 Spring 컨테이너에 의해 생명주기가 관리되며, 의존성 주입(Dependency Injection)을 통해 다른 Bean과 연결됩니다.Spring Bean의 특징IoC 컨테이너에 의해 관리: 개발자가 직접 객체를 생성하고 관리하는 것이 아니라, Spring 컨테이너가 대신 수행합니다.의존성 주입(DI): 객체 간의 의존 관계를 외부에서 설정해줍니다.생명주기 관리: Bean의 생성, 초기화,..

테스트 코드의 중요성? (SpringBoot 기반 Mocking 학습)
개발2025. 3. 21. 16:51테스트 코드의 중요성? (SpringBoot 기반 Mocking 학습)

Mocking이란?1. Mocking의 개념Mocking은 테스트를 진행할 때 실제 객체 대신 가짜 객체(Mock 객체)를 생성하여 사용하는 기법입니다. 이 가짜 객체는 실제 객체의 행동을 흉내내어, 테스트 대상 코드가 의존하는 다른 컴포넌트와의 상호작용을 시뮬레이션합니다.왜 Mocking이 필요한가요?단위 테스트의 독립성 보장: 테스트 대상 코드만 격리하여 테스트할 수 있습니다.외부 의존성 제거: 데이터베이스, 외부 API 등 외부 시스템에 의존하지 않고 테스트할 수 있습니다.테스트 속도 향상: 실제 객체보다 가벼운 Mock 객체를 사용하여 테스트 속도를 높일 수 있습니다.특정 시나리오 테스트: 실제 환경에서 재현하기 어려운 상황(예: 네트워크 오류)을 시뮬레이션할 수 있습니다.2. 단위 테스트와 통합..

Kafka+Docker 기반 SpringBoot 프로젝트 구축 방법
개발2025. 3. 20. 15:45Kafka+Docker 기반 SpringBoot 프로젝트 구축 방법

Kafka 상세 가이드1. Kafka란 무엇인가?Kafka는 LinkedIn에서 개발하고 현재는 Apache 재단에서 관리하는 분산 스트리밍 플랫폼입니다. 대용량의 실시간 데이터 스트림을 안정적으로 처리할 수 있도록 설계되었으며, 다음과 같은 특징을 가지고 있습니다:고성능: 초당 수백만 개의 메시지를 처리할 수 있는 높은 처리량확장성: 클러스터 구성을 통해 수평적 확장 가능내구성: 데이터를 디스크에 저장하여 데이터 손실 방지분산 처리: 여러 서버에 데이터를 분산하여 저장 및 처리2. Kafka의 주요 개념2.1. 메시지(Message)Kafka에서 데이터의 기본 단위입니다. 키(Key)와 값(Value)으로 구성되며, 타임스탬프와 메타데이터도 포함할 수 있습니다.2.2. 토픽(Topic)메시지가 저장되는..

Spring Boot에 Mysql Docker 연결
개발2024. 5. 14. 16:55Spring Boot에 Mysql Docker 연결

# docker run mysql# docker run --name mysql-container -e MYSQL_ROOT_PASSWORD= -d -p 3306:3306 mysql:latest# docker exec -it [mysql-container] /bin/bashbash-4.4# mysql -uroot -pmysql> create database [db_name]mysql> create user [user_name]@172.17.0.1 identified by [user_password]mysql> grant all privileges on [db_name].* to [user_name]@172.17.0.1;여기서 [user_name]@localhost로 한다면 도커환경 내에서의 계정으로 잡히기 ..

image