반응형

전체 글 42

(1) @Autowired와 @Bean 차이점

@Autowired 와 @Bean 어노테이션의 구분@Autowired와 @Bean의 역할은 다르지만, 함께 작동하여 의존성 주입과 객체 생성을 처리합니다. 하지만 두 어노테이션의 차이를 명확히 알아야 합니다 @Autowired의 역할:@Autowired는 의존성 주입을 위한 것이며, 직접적으로 객체를 생성하지 않습니다.이 어노테이션은 Spring 컨테이너에게 해당 타입의 빈을 찾아 주입하라고 지시합니다.객체 생성 과정:객체 생성은 주로 Spring 컨테이너에 의해 이루어집니다.@Component, @Service, @Repository, @Controller 등의 어노테이션이 붙은 클래스들은 자동으로 빈으로 등록되고 생성됩니다.@Bean의 역할:@Bean은 메서드 레벨에서 사용되며, 해당 메서드가 반환하..

(React) 회원가입 페이지에서 input값 검증하기

실제로는 더 많은 입력값과 검증이 필요하겠지만, 검증함수의 로직을 파악할 용도로 간단하게 작성하였다.전체코드는 아래와 같다.import { useState } from "react";import { useDispatch } from "react-redux";import { loginPostAsync } from "../../slices/loginSlice";import { useNavigate } from "react-router-dom";import useCustomRegister from "../../hooks/useCustomRegister";import { Link } from "react-router-dom";import AddressInput from '../common/AddressInput..

(2) Kafka, Spring Boot, 리액트를 사용하여 쇼핑몰 사용자의 결제정보 실시간 처리 구현하기

도커를 사용하여 Kafka 를 설치하는 방법앞 장에서 로컬인 윈도우에 Kafka를 설치하였습니다. 로컬에 설치된 Kafka를 사용할 경우 이 과정은 생략하여도 됩니다.추가로 도커를 사용하여 Kafka를 설치하는 방법을 설명하겠습니다.docker-compose.yml 파일을 다음과 같이 작성합니다.version: "3.8"services: kafka-0: image: bitnami/kafka:latest container_name: kafka-0 user: root ports: - "10000:9094" environment: - KAFKA_CFG_NODE_ID=0 - KAFKA_KRAFT_CLUSTER_ID=M2fxHJLvSO2xWi1DpTnikg ..

(1) Kafka, Spring Boot, 리액트를 사용하여 쇼핑몰 사용자의 결제정보 실시간 처리 구현하기

1. 로컬 환경에 Kafka 설치 및 구성하기실제 Kafka를 서비스에 이용하는 회사의 경우 별도의 서버에 Kafka를 설치하겠지만, 스프링부트에서 Kafka 서비스를 이용하는 것을 목적으로 하기 때문에 여기선 간단하게 내 윈도우 로컬 환경에 Kafka를 설치해 실습을 진행해 보도록 하겠습니다.설치 환경: Windows 11다운로드:  kafka.apache.org Apache KafkaApache Kafka: A Distributed Streaming Platform.kafka.apache.org1) 다운로드Kafka 공식 홈페이지 오른쪽 상단의 'DOWNLOAD KAFKA' 버튼을 클릭합니다.가장 최신 버전은 안정화가 안 되어 있을 수 있으므로 3.6.2 버전을 받았습니다.  2) 로컬PC의 윈도우에..

(3) @RequestParam과 @PathVariable 차이점

Spring 프레임워크에서 @RequestParam과 @PathVariable 어노테이션은 모두 컨트롤러 메서드에서 요청 파라미터를 처리하는 데 사용되지만, 그 목적과 사용 방식이 다릅니다. 각각의 차이점을 자세히 설명하겠습니다.  @RequestParam용도: HTTP 요청 파라미터를 메서드 매개변수에 바인딩할 때 사용합니다. 주로 쿼리 스트링 또는 폼 데이터에서 파라미터를 추출할 때 사용됩니다.사용 예: URL에 포함된 쿼리 파라미터나 폼 데이터에서 값을 추출할 때.기본값: 제공하지 않으면 기본값을 설정할 수 있습니다. 파라미터가 필수가 아닐 경우 required = false로 설정할 수 있습니다.예시코드:@GetMapping("/api/users")public String getUserByRequ..

(2) @Autowired와 @AllArgsConstructor 차이점

@Autowired와 @AllArgsConstructor는 둘 다 스프링 프레임워크에서 의존성 주입을 지원하는 방식이지만, 사용하는 방식과 상황에 따라 적절히 선택해야 합니다. @Autowired@Autowired는 스프링에서 의존성 주입을 위한 애노테이션으로, 필드, 생성자, 또는 메서드에 사용할 수 있습니다. 이를 통해 스프링 컨테이너가 적절한 빈을 자동으로 주입하도록 합니다. 1. 필드 주입(Field Injection):가장 단순한 방법으로, 필드에 직접 주입합니다.@Componentpublic class MyService { @Autowired private MyRepository myRepository; // ...}단점:테스트하기 어려움순환 의존성 문제 발생 가능의존성..

(1) @AllArgsConstructor과 @NoArgsConstructor 차이점

@AllArgsConstructor와 @NoArgsConstructor는 둘 다 롬복(Lombok) 라이브러리의 애노테이션으로, 각각 클래스에 대해 모든 필드를 매개변수로 받는 생성자와 기본 생성자(매개변수가 없는 생성자)를 자동으로 생성해줍니다.두 애노테이션의 주요 차이점은 생성하는 생성자의 종류와 용도입니다. @AllArgsConstructor기능: 클래스의 모든 필드를 매개변수로 받는 생성자를 생성합니다.사용 목적: 주로 의존성 주입이나 객체 생성 시 모든 필드를 초기화해야 할 때 사용됩니다. 예시 코드:import lombok.AllArgsConstructor;@AllArgsConstructorpublic class MyClass { private String name; private ..

반응형