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

차가운 개발노트

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

@valid vs @validated

📌@Valid, @Validated우리가 웹사이트에서 회원가입을 할 때, 이런 걸 검사해야 합니다.✔ 이름을 입력했는지?✔ 나이가 너무 어리진 않은지?✔ 이메일 형식이 맞는지? 이런 검사를 백엔드(Spring) 에서 자동으로 해주는 게 @Valid랑 @Validated입니다.@Valid 사용법 (기본 검사)예를 들어 회원가입할 때, 이름이 비어있으면 안 되고, 나이는 18살 이상이어야 한다는 조건을 붙인다고 생각합시다.UserDTO (데이터 저장하는 클래스)import jakarta.validation.constraints.Min;import jakarta.validation.constraints.NotBlank;import jakarta.validation.constraints.NotNull;publ..

  • format_list_bulleted Spring
  • · 2025. 2. 3.
  • textsms
@Scheduled

@Scheduled

설명Spring Boot 에서 @Scheduled 어노테이션을 사용하면 일정한 시간 간격으로, 혹은 특정 시간에 코드가 실행되도록 설정할 수 있습니다.주기적으로 실행해야 하는 작업이 있을 대 적용해 쉽게 사용할 수 있습니다.사용법@Scheduled 어노테이션을 사용하기 위해 다음과 같이 Application Class 에서 @EnableScheduling 을 추가해야 합니다.@EnableScheduling@SpringBootApplicationpublic class SchedulerApplication {      public static void main(String[] args) {         SpringApplication.run(DemoApplication.class, args);   ..

  • format_list_bulleted Spring
  • · 2025. 1. 24.
  • textsms
@Controller 와 @RestController

@Controller 와 @RestController

Spring Framework는 Java 애플리케이션 개발에서 핵심적인 역할을 하며, 특히 웹 애플리케이션에서는 사용자의 요청을 처리하고 적절한 응답을 반환하기 위해 다양한 애노테이션을 제공합니다. 그중 @Controller와 @RestController는 자주 혼동되는 두 가지 애노테이션입니다. @Controller@Controller는 Spring MVC에서 컨트롤러 역할을 하는 클래스에 사용되는 애노테이션입니다. 주로 뷰(View)를 반환하는 데 사용되며, HTML 페이지와 같은 템플릿 엔진과 함께 사용됩니다. @Controller 는 반환 값이 뷰 이름으로 해석됩니다. Spring 은 해당 이름을 기반으로 HTML, JSP 와 같은 뷰 파일을 렌더링 해줍니다. 또한 일반적으로 HTTP 응답 자체를..

  • format_list_bulleted Spring
  • · 2025. 1. 22.
  • textsms
ResponseEntity

ResponseEntity

Spring Boot 프로젝트에서 ResponseEntity 는 HTTP 응답을 효과적으로 제어하고 다양한 측면에서 사용자에게 정확한 응답을 제공하는 데 사용됩니다.ResponseEntityResponseEntity 는 HTTP 응답을 나타내는 Spring Framework 의 클래스입니다.이 클래스는 요청에 대한 응답의 HTTP Header , Status Code 를 포함하여 클라이언트에게 전달할 수 있는 다양한 기능을 제공합니다.사용하는 이유ResponseEntity 를 사용하면 응답에 대한 HTTP 상태 코드를 명시적으로 지정할 수 있습니다.이는 클라이언트에게 정확한 상태 정보를 제공하는 데 도움이 됩니다.또한 응답 본문과 헤더를 세밀하게 제어할 수 있습니다.ResponseEntity 에서 자주 ..

  • format_list_bulleted Spring
  • · 2025. 1. 16.
  • textsms
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
  • 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)
최근 글
인기 글
최근 댓글
태그
  • #데이터베이스
  • #Next.js
  • #NEXT
  • #Java
  • #React-Native
  • #SQL
  • #CS
  • #라이브러리
  • #Spring
  • #react
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바