프로필 로고 차가운 개발노트
close
프로필 배경
프로필 로고

차가운 개발노트

  • 분류 전체보기 (124)
    • Java (23)
    • SQL (11)
    • Spring (22)
    • React (15)
    • Next (5)
    • CS (16)
    • 라이브러리 (13)
    • React-native (4)
    • Git (2)
    • JavaScript (4)
    • 데이터베이스 이론 (3)
    • 설치 (3)
  • 홈
  • 태그
  • 방명록
JSON 형태로 객체 반환하기

JSON 형태로 객체 반환하기

설명API 서버를 만들 때 일반적으로 클라이언트한테 JSON 형식으로 데이터를 넘겨주어야 합니다.하지만 아래처럼 JSON 데이터를 일일이 조립하면 생산성도 떨어질뿐더러 오류가 날 확률이 높습니다.String json = "{\"name\" : \"" + name + "\"}";return json; Spring에서는 @ResponseBody Annotation을 통해 객체를 직접 JSON으로 변환시켜 줄 수 있습니다.JSON 형태로 Response 를 보내는 방법에 대하여 설명하겠습니다.JSON 형태로 반환하기우선 JSON 으로 변환시킬 객체를 만들어야 합니다.여기서는 Lombok 라이브러리를 사용하였기 때문에 감안하셔서 보시는 것을 권장드립니다.package hello.core.common;import..

  • format_list_bulleted Spring
  • · 2025. 1. 15.
  • textsms
빈 생명주기 콜백

빈 생명주기 콜백

스프링 IoC 컨테이너스프링의 IoC 컨테이너는 Bean 객체들을 책임지고 의존성을 관리합니다.객체들을 관리한다는 것은 객체의 생성부터 소멸까지의 생명주기( LifeCycle ) 관리를 개발자가 아닌 컨테이너가 대신해준다는 말입니다. 그로 인해 개발자는 객체 관리의 주체가 프레임워크( Container ) 가 되기 때문에 로직에 집중할 수 있는 장점이 있습니다.스프링 빈의 LifeCycle스프링 컨테이너 생성 → Bean 생성 -> 의존성 주입 → 초기화 콜백 → Bean 사용 → 소멸 전 콜백 → 스프링 종료빈 생명주기 콜백의 필요성먼저 콜백에 대해 설명하면, 주로 콜백함수를 부를 때 사용되는 용어이며 콜백함수를 등록하면 특정 이벤트가 발생했을 때 해당 메소드가 호출됩니다. 즉, 조건에 따라 실행될 수..

  • format_list_bulleted Spring
  • · 2025. 1. 9.
  • textsms
스프링에서 조회 대상 빈이 2개 이상일 때 해결 방법

스프링에서 조회 대상 빈이 2개 이상일 때 해결 방법

빈이 2개 이상일 때 생기는 오류스프링에서는 같은 타입의 빈이 여러 개일 때, 어떤 빈을 사용할지 모호성이 발생합니다.예를 들어 @Autowired 는 타입으로 빈을 조회하기 때문에 interface 가 discountPolicy 인 구현체가 2개 이상이라면 오류가 발생합니다. 당연하게도 discountPolicy 로 만든 구현체가 하나여야 하는데 2개 이상이라서 어떤 구현체를 불러와야 할지 모르기 때문입니다.@Componentpublic class FixDiscountPolicy implements DiscountPolicy {}@Componentpublic class RateDiscountPolicy implements DiscountPolicy {}@Autowiredprivate final Disc..

  • format_list_bulleted Spring
  • · 2025. 1. 8.
  • textsms
다양한 의존관계 주입 방법

다양한 의존관계 주입 방법

의존성 주입 ( DI )의존성 주입(Dependency Injection, DI)은 객체 지향 프로그래밍에서 객체 간의 관계를 설정하는 방식 중 하나입니다.객체가 필요한 의존성( 다른 객체 )을 직접 생성하지 않고 외부에서 주입받는 방식을 말합니다.이를 통해 객체 간의 결합도를 낮추고, 유연한 코드와 테스트 가능성을 높일 수 있습니다. 만약 우리가 자동차를 만들고 있다고 했을 때, 자동차는 엔진, 타이어, 핸들 등 여러 부품이 필요합니다. 만약 자동차가 엔진을 스스로 만들어야 한다면, 자동차 클래스 내부에서 엔진을 직접 생성해야 합니다. 이 경우, 자동차와 엔진이 강하게 결합되어 있어서 자동차를 테스트하거나 엔진을 교체하는 것이 매우 어렵습니다. 하지만 의존성 주입을 사용하면, 자동차가 엔진을 외부에서 ..

  • format_list_bulleted Spring
  • · 2025. 1. 7.
  • textsms
Spring 웹 애플리케이션 계층구조

Spring 웹 애플리케이션 계층구조

계층구조Spring 에서 웹 애플리케이션을 만들 때, 코드를 체계적으로 관리하기 위해 계층 구조를 사용합니다.이 구조는 역할에 따라 프로그램을 세 부분으로 나누는 방식으로, 우리가 건물을 지을 때 기초, 벽, 지붕처럼 각각의 역할을 나눈 것과 비슷하다고 생각하시면 됩니다. 개발자 입장에서는 이렇게 세분화함으로써 효율적으로 개발을 하고자 함인데요, 기본적인 계층으로는 크게 컨트롤러, 서비스, 리포지토리, DTO, 모델등으로 구성되어 있습니다. 각각의 계층은 계층마다 독립적으로 분리하여 구현하는것이 가능해야하고, 각 계층에서 담당해야 할 기능들이 있습니다.  계층컨트롤러 ( Controller )컨트롤러 계층은 HTTP 요청을 받아들이는 진입점입니다.클라이언트의 요청에 따라 어떤 처리를 할지 결정하고, 요청..

  • format_list_bulleted Spring
  • · 2024. 12. 23.
  • textsms
Spring - @Value

Spring - @Value

간단한 설명프로젝트를 진행하다 보면 시크릿 키와 같이 외부에 노출해서는 안되는 값들을 사용할 때가 있습니다.만약 코드 내부에 시크릿 키를 저장하고 사용할 경우 외부에 노출될 위험이 커집니다.이럴 경우 application.properties 와 같은 파일에 보안이 필요한 값들을 넣어 두고 .gitignore 로 등록하여 외부에 노출이 되지 않게 하며 필요할 때 꺼내 쓰면 외부에 노출될 위험이 줄어듭니다. 이렇게 application.properties 에 보안이 필요한 값들을 꺼내오는 어노테이션이 바로 @Value 입니다.사용@Value 를 사용하기 전에 우리는 보안이 필요한 값을 저장할 수 있는 파일을 만들어야 합니다.Spring 에서는 애플리케이션에서 사용하는 설정 값을 외부 파일인 test.prop..

  • format_list_bulleted Spring
  • · 2024. 12. 20.
  • textsms
Spring Bean 을 등록하는 3가지 방법

Spring Bean 을 등록하는 3가지 방법

Spring BeanSpring Bean은 Spring Framework에서 관리하는 객체를 의미합니다. Spring IoC (Inversion of Control) 컨테이너는 애플리케이션에서 객체의 생명 주기와 의존성 주입(Dependency Injection)을 관리합니다. Spring에서 관리하는 객체는 모두 Bean이라고 부르며, 이는 Spring 컨테이너가 생성하고 관리하는 객체입니다.Spring Bean을 등록하는 방법고전적인 방법 - Spring Bean XML 설정먼저 등록하고 싶은 Bean 파일을 만들어야 합니다.MyService 객체가 MyRepository 의존성을 갖고 있다고 가정하겠습니다.public class MyService { private final MyRepository..

  • format_list_bulleted Spring
  • · 2024. 12. 19.
  • textsms
스프링 빈(Bean) 이란?

스프링 빈(Bean) 이란?

빈 - Bean빈( Bean ) 은 스프링 컨테이너에 의해 관리되는 재사용 가능한 소프트웨어 컴포넌트입니다.즉, 스프링 컨테이너가 관리하는 자바 객체를 뜻하며, 하나 이상의 빈(Bean)을 관리합니다. 빈은 인스턴스화된 객체를 의미하며, 스프링 컨테이너에 등록된 객체를 스프링 빈이라고 합니다.쉽게 이해하자면 new 키워드를 대신 사용한다고 보시면 됩니다.IHelloService helloService = new IHelloService()스프링 빈을 사용하는 이유정말 간단하게 말하자면 효율적이고 안전한 객체 관리를 위해서입니다. 객체의 효율적인 관리첫 번째로 객체를 효율적으로 관리하기 위해서입니다.우리가 프로그램을 만들 때, 여러 클래스들이 서로 도와서 일을 합니다. 이때 객체( 클래스를 통해 만들어지는..

  • format_list_bulleted Spring
  • · 2024. 12. 16.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (124)
    • Java (23)
    • SQL (11)
    • Spring (22)
    • React (15)
    • Next (5)
    • CS (16)
    • 라이브러리 (13)
    • React-native (4)
    • Git (2)
    • JavaScript (4)
    • 데이터베이스 이론 (3)
    • 설치 (3)
최근 글
인기 글
최근 댓글
태그
  • #데이터베이스
  • #CS
  • #SQL
  • #NEXT
  • #Next.js
  • #Java
  • #React-Native
  • #라이브러리
  • #Spring
  • #react
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바