[Spring] 의존성 주입(DI - Dependency Injection)과 결합도 낮추기
·
Spring/Spring 기초 지식
안녕하세요. 개발자 Stark입니다.이번 포스팅은 의존성 주입에 대한 설명입니다. 기존에 작성했던 내용을 개선하여 리팩터링 하였습니다.특히 기존에는 없던 설명들을 조금 부각했으며 이해하기 쉽도록 구성해 보았습니다. 중간중간 객체 간의 결합에 대한 설명 같은 것들이 있으니 많은 도움이 되었으면 좋겠습니다.  의존성과 의존성 주입이란?의존성이란?객체 지향 프로그래밍에서 의존성은 클래스나 모듈 간의 관계를 의미합니다. 한 클래스가 다른 클래스에 의존한다는 것은 해당 클래스가 다른 클래스의 인스턴스나 메서드를 사용한다는 뜻입니다. 의존성은 클래스 간의 결합도를 나타내며, 결합도가 높으면 변경에 취약한 코드가 될 가능성이 높아집니다. 의존성 주입이란?의존성 주입(Dependency Injection)은 객체가 필..
[@Configuration과 @Bean] 스프링 컨테이너의 동작 원리 톺아보기
·
Spring/Spring 기초 지식
안녕하세요. 개발자 stark입니다.블로그를 시작하며 제가 과거에 공부하며 작성했던 내용들을 전부 리팩터링 하고 있습니다. ㅎㅎㅎㅎ 개발했던 코드도 리팩토링을 하는데 이제는 블로그 글도 이렇게 수정해야 할 필요성을 느낍니다. 자 그럼 이제 스프링 컨테이너에 대해서 알아봅시다!  스프링 컨테이너가 뭔가요?스프링 컨테이너는 스프링 프레임워크의 핵심 구성 요소로, 애플리케이션의 객체(빈)를 관리하고 조정하는 역할을 합니다. 컨테이너는 스프링의 의존성 주입(Dependency Injection) 원칙을 구현하며, 애플리케이션의 모든 빈을 생성, 관리, 설정, 삭제하는 기능을 제공합니다. 스프링에서 사용하는 주요 컨테이너의 종류는 2가지가 있습니다.BeanFactory: 가장 기본적인 형태의 스프링 컨테이너로서,..
[Spring Boot] Properties와 YAML 설정 파일 작성 가이드
·
Spring/Spring 설정
스프링부트에서 설정파일을 작성하는 방식을 살펴보자📌 서론스프링 부트는 컨벤션을 통한 설정을 지향하며, 다양한 설정 파일을 지원하여 개발자가 손쉽게 애플리케이션을 구성할 수 있도록 돕는다. Properties 파일과 YAML 파일은 스프링 부트에서 가장 널리 사용되는 설정 파일 형식으로, 각각의 장단점과 사용 용도가 있다. 올바른 설정 파일을 선택하고 효율적으로 사용하는 방법을 이해하면, 애플리케이션의 유지보수성과 확장성을 크게 향상시킬 수 있다. 1. Properties 파일 설정Properties 파일 소개Properties 파일은 key=value 형식으로 구성 정보를 저장하는 텍스트 파일이다. 스프링 부트에서는 주로 application.properties 파일을 사용하여 애플리케이션의 기본 설정..
[스프링, 스프링부트] Spring - @Bean과 @Component
·
Spring/Spring 기초 지식
스프링에서 사용하는 Bean에 대한 개념을 알아보자 1. Bean이란? "빈(Bean)"은 스프링 컨테이너에 의해 관리되는 객체이다. 빈은 일반적으로 애플리케이션에서 사용되는 객체를 나타내며, 스프링의 IoC 컨테이너에서 생성, 구성, 관리된다. @Component를 사용하여 Bean을 등록하는 코드 예시 아래의 코드를 보자 MyBean이라는 class 상단에는 @Component라는 어노테이션이 표시되어 있다. 이는 MyBean이라는 클래스가 스프링의 빈(Bean)으로 등록되어야 함을 나타낸다. 즉, MyBean 클래스의 인스턴스(객체)는 스프링 컨테이너에 의해서 생성되고 관리되게 된다. @Component public class MyBean { private String name; public MyB..
왜 스프링인가? 프레임워크의 철학 가볍게 살펴보기
·
Spring/Spring 기초 지식
스프링 프레임워크란?스프링 프레임워크는 자바 엔터프라이즈 애플리케이션 개발의 복잡성을 줄이기 위해 설계된 강력한 오픈소스 프레임워크입니다. 주요 목표는 객체 지향 원칙을 준수하며 유연하고 테스트 가능한 코드를 작성하도록 돕는 것입니다. 스프링 프레임워크의 대표적인 특징으로는 POJO(Plain Old Java Object) 기반의 경량화 설계와 유연한 아키텍처가 있습니다. 이를 통해 기존 자바 기술(JDBC, JPA 등)과의 높은 호환성을 제공하며, 대규모 애플리케이션부터 소규모 프로젝트까지 다양한 범위에서 활용됩니다. 스프링의 탄생과 철학을 알아봅시다. 자바 엔터프라이즈 애플리케이션 개발은 2000년대 초반까지 매우 복잡하고 어려운 일이었습니다. EJB(Enterprise JavaBeans)라는 무거운..