Spring Boot 2

Ckd gus·2026년 2월 2일

Spring을 사용하는 이유

Spring을 사용하는 이유는 생산성과 유지보수성을 높이기 위해서이다.


프레임워크란?

프레임워크는 소프트웨어 개발을 위한 기본적인 틀을 제공하는 것이다.
재사용 가능한 코드와 구조를 제공해 개발자가 공통 작업을 덜고, 핵심 기능 개발에 집중할 수 있게 해준다.


프레임워크 vs 라이브러리 차이

프레임워크

  • 개발자가 프레임워크의 흐름/규칙(틀) 안에서 코드를 작성한다.
  • 제어 흐름이 프레임워크에 있다. (프레임워크가 호출하고, 개발자가 끼워 넣는 구조)

라이브러리

  • 특정 기능을 수행하는 코드의 모음이다.
  • 개발자가 필요할 때 직접 호출해서 사용한다. (제어 흐름이 개발자에게 있음)

Spring vs Spring Boot 차이

Spring

  • 자바 기반 프레임워크이다.
  • 기능은 강력하지만, 설정이 상대적으로 많고 복잡할 수 있다.

Spring Boot

  • Spring을 더 편리하게 쓰기 위한 도구이다.
  • 기본 설정/구성을 자동으로 잡아주고, 빠르게 개발할 수 있게 해준다.

IoC와 DI

IoC (Inversion of Control)

  • 객체의 생성/소멸/생명주기 관리를 개발자가 직접 하지 않고 Spring 컨테이너가 담당한다.

DI (Dependency Injection)

  • 필요한 객체를 내부에서 직접 생성하지 않고, 외부에서 주입받는다.
  • 결합도를 낮춰 유지보수성과 테스트 편의성이 좋아진다.

IoC를 사용하는 이유

  • 코드의 결합도를 낮추기 위해
  • 테스트를 쉽게 만들기 위해
  • 재사용성을 높이기 위해

Bean

Bean은 Spring IoC 컨테이너가 관리하는 객체이다.


Bean 등록 방법

1) XML 방식 (레거시)
2) Java Config 방식

  • @Configuration + @Bean
    3) 어노테이션 방식
  • @Component, @Service, @Repository, @Controller

어노테이션 기반 등록 & DI

@Component

  • 클래스 위에 붙여 Spring 컨테이너가 관리하는 Bean으로 등록한다.

@ComponentScan(basePackages = "sample")

  • sample 패키지 하위의 컴포넌트를 스캔하여 자동으로 Bean 등록하도록 지정한다.

@Autowired

  • Spring이 관리하는 Bean을 자동으로 주입(DI)할 때 사용한다.
  • 단, 필드 주입 방식은 Spring 의존도가 너무 높아져 비권장이다.
    • 보통 생성자 주입을 권장한다.

classpath

classpath는 컴파일된 클래스 파일들이 위치하는 경로이다.


느낀점

오늘은 수업을 들으면서 노션에 정리를 해봤다. 노션에 정리되어 있던 내용을 바로 블로그에 쓰기에는 내용이 조금 부족한 것 같다. 내일부터는 정리된 내용을 기반으로 블로그에 다시 정리해야 할 것 같다.

오늘 내용이 이해는 되지만 실전에서 사용하기엔 아직 적응이 필요할 것 같다.

여러 번 사용해보고 익숙해져야겠다.

profile
백엔드 공부중입니다.

0개의 댓글