DevLog
close
프로필 배경
프로필 로고

DevLog

  • 분류 전체보기
    • Algorithm
      • BOJ
      • Programmers
    • Computer Science
    • Java
    • Spring
    • Server
    • Docker
    • Git · Github
  • 홈
  • 태그
  • 방명록

[Spring] 다양한 의존성 주입 방법과 생성자 주입을 사용해야 하는 이유

Spring 프레임워크의 핵심 기술 중 하나가 바로 DI(Dependency Injection, 의존성 주입)이다.의존성 주입은 객체 간의 의존성을 줄이고, 유지 보수성을 높이기 위해 사용한다.Spring 컨테이너에 여러 컴포넌트를 Bean으로 등록하여 생명주기 관리를 위임하고, 이 Bean으로 등록한 객체를 주입받아서 사용할 수 있다. 의존성 주입 덕분에 개발자가 객체 생성에 대한 부분을 신경 쓰지 않고 비즈니스 로직에만 집중할 수 있게 된다. Spring 프레임워크와 같은 DI 프레임워크를 이용하면 다양한 의존성 주입을 이용하는 방법이 있다.🔹 다양한 의존성 주입 방법1. 생성자 주입 (Constructor Injection)생성자 주입(Constructor Injection)은 생성자를 통해 의존..

  • format_list_bulleted Spring
  • · 2025. 1. 4.
  • textsms

[Spring] 의존성 주입(Dependency Injection, DI)

🔹 의존성 주입(Dependency Injection, DI)DI란 외부에서 두 객체 간의 관계를 결정해 주는 디자인 패턴으로, 인터페이스를 사이에 두어 클래스 레벨에서는 의존관계가 고정되지 않도록 하고 런타임 시에 관계를 동적으로 주입하여 유연성을 확보하고 결합도를 낮출 수 있게 해준다.의존성이란 한 객체가 다른 객체를 사용할 때 의존성이 있다고 한다.public class Store { private Book book;}예를 들어, 위와 같이 Store 객체가 Book 객체를 사용하고 있는 경우에 Store 객체가 Book 객체에 의존성이 있다고 표현한다.Book book = new Book();Store store = new Store(book);그리고 두 객체 간의 관계를 맺어주는 것을 의..

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

[Spring] @Configuration 안에서 @Bean을 사용해야 하는 이유

Spring에서 수동으로 빈을 등록할 때에는 @Configuration 클래스 안에서 @Bean을 사용해야 한다.🔹 @Configuration 안에서 @Bean을 사용해야 하는 이유[ @Bean 어노테이션을 이용한 수동 빈 등록 ]스프링에서는 일반적으로 컴포넌트 스캔을 사용해 자동으로 빈을 등록하는 방법을 이용한다.하지만 @Bean 어노테이션을 사용해 수동으로 빈을 등록해야 하는 경우도 있다. 1. 개발자가 직접 제어가 불가능한 라이브러리를 활용할 때2. 애플리케이션 전범위적으로 사용되는 클래스를 등록할 때3. 다형성을 활용하여 여러 구현체를 등록해 주어야 할 때 @Bean을 이용한 수동 빈 메서드는 스프링 빈 안에만 구현되어 있다면 모두 동작된다.하지만 스프링에서 @Bean은 반드시 @Configur..

  • format_list_bulleted Spring
  • · 2024. 12. 31.
  • textsms

[Spring] @Bean, @Configuration, @Component

기존의 Spring MVC에서는 xml을 활용하여 Bean을 등록했다.하지만 프로젝트 규모가 커짐에 따라 사용하는 요소들을 xml에 등록하는 것이 상당히 번거로워져 어노테이션(Annotation, @)을 활용한 Bean 등록 방법이 탄생하게 되었다.🔹 Spring Bean Spring에서는 Spring의 DI Container에 의해 관리되는 POJO(Plain Old Java Object)를 Bean이라고 부르며,이러한 Bean들은 Spring을 구성하는 핵심 요소이다. POJO(Plain Old Java Object)로써 Spring 애플리케이션을 구성하는 핵심 객체이다.Spring IoC 컨테이너(또는 DI 컨테이너)에 의해 생성 및 관리된다.class, id, scope, constructor-..

  • format_list_bulleted Spring
  • · 2024. 12. 11.
  • textsms

[Spring] @RequestParam, @RequestBody, @ModelAttribute

스프링에서 클라이언트로 받은 요청을 객체로 바인딩 하기 위해 사용하는 방법은 세 가지가 있다. 🔹 @RequestParam@RequestParam은 1개의 HTTP 요청 파라미터를 받기 위해서 사용한다.@RequestParam은 필수 여부가 true이기 때문에 반드시 해당 파라미터가 전송되어야 한다.파라미터가 전송되지 않으면 400 에러가 발생한다.반드시 필요한 값이 아니라면 required를 false로 설정해 주면 되고, defaultValue 옵션을 사용하면 기본값 역시 지정할 수 있다.@GetMapping("/list")public ResponseEntity> requestParam( @RequestParam(required = false, defaultValue = "spring") St..

  • format_list_bulleted Spring
  • · 2024. 12. 9.
  • textsms

[Spring] Dispatcher Servlet

🔹 Dispatcher Servlet 이란 ?Dispatcher Servlet의 dispatch는 "보내다"라는 뜻을 가지고 있다.그리고 이러한 단어를 포함하는 Dispatcher Servlet은 HTTP 프로토콜로 들어오는 모든 요청을 가장 먼저 받아 적합한 컨트롤러에 위임해 주는 프런트 컨트롤러(Front Controller)라고 정의할 수 있다. Dispatcher Servlet은 요청이 들어오면 URI에 맞는 핸들러와 뷰를 찾는다.다음과 같이 "/posts/save"의 URI 주소로 GET 요청을 보내면 Dispatcher Servlet은 아래 컨트롤러를 찾아 작업을 위임한다.@GetMapping("posts/save")public String save() { return "posts-save"..

  • format_list_bulleted Spring
  • · 2024. 12. 6.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기
    • Algorithm
      • BOJ
      • Programmers
    • Computer Science
    • Java
    • Spring
    • Server
    • Docker
    • Git · Github
최근 글
인기 글
최근 댓글
태그
  • #우선순위 큐
  • #자바
  • #너비 우선 탐색
  • #java
  • #스프링
  • #spring
  • #BOJ
  • #이분 탐색
  • #비트마스킹
  • #백준
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바