본문 바로가기

Spring

(26)
05. 싱글톤 컨테이너 💡 본 게시글은 김영한님의 인프런(Inflearn) 강의 스프링 핵심 원리 - 기본편에 대해 공부하고, 정리한 내용입니다. 1. 웹 애플리케이션과 싱글톤 (1) 웹 애플리케이션과 동시다발적 요청 처리 웹 애플리케이션에서는 동일한 서비스에 대해 여러 사용자가 동시에 요청을 보내는 상황이 흔히 발생합니다. 특히 대규모 기업에서 운영하는 웹 서비스의 경우, 이러한 동시다발적인 요청이 수천, 수만, 혹은 그 이상의 규모로 일어나게 됩니다. 스프링 프레임워크는 바로 이런 대규모 웹 애플리케이션 환경에서 효율적으로 서비스를 제공하고자 하는 목적으로 탄생했습니다. (2) 순수 DI 컨테이너의 문제점 스프링 프레임워크를 사용하지 않고, 순수한 DI(Dependency Injection) 컨테이너를 사용하는 경우에는 사..
04. 스프링 컨테이너와 스프링 빈 💡 본 게시글은 김영한님의 인프런(Inflearn) 강의 스프링 핵심 원리 - 기본편에 대해 공부하고, 정리한 내용입니다. 0. 들어가며 이전 게시글에서는 스프링이 나오게 된 개념에 대해 알아보았습니다. 이번 게시글에서는 스프링 자체가 어떻게 동작되는 지를 알아보겠습니다. 03. 스프링 핵심 원리 이해 2 - 객체 지향 원리 적용 💡 본 게시글은 김영한님의 인프런(Inflearn) 강의 스프링 핵심 원리 - 기본편에 대해 공부하고, 정리한 내용입니다. 1. 들어가며 지난 게시물에서는 스프링 프레임워크의 탄생 배경과 그 특징, 그 soo99.tistory.com 1. 스프링 컨테이너의 생성과정 1) 스프링 컨테이너 생성 - 밑의 코드는 스프링 프로젝트가 시작될 때, 가장 먼저 실행되는 코드입니다. publ..
03. 스프링 핵심 원리 이해 2 - 객체 지향 원리 적용하기 💡 본 게시글은 김영한님의 인프런(Inflearn) 강의 스프링 핵심 원리 - 기본편에 대해 공부하고, 정리한 내용입니다. 1. 들어가며 지난 게시물에서는 스프링 프레임워크의 탄생 배경과 그 특징, 그리고 스프링이 어떻게 자바의 대표적인 프레임워크로 자리매김하게 되었는지를 정리하였습니다. 01. 객체 지향 설계와 스프링 - (1) 자바 진영의 추운 겨울과 스프링의 탄생 (이야기) 💡 본 게시글은 김영한님의 인프런(Inflearn) 강의 스프링 핵심 원리 - 기본편에 대해 공부하고, 정리한 내용입니다. 1) 자바 생태계의 한겨울 2000년대 초기 자바 표준 모델로서의 EJB(Enterprise Java Bea soo99.tistory.com 또한, 객체 지향 프로그래밍의 핵심 원칙인 SOLID 중에서도 특..
02. 스프링 핵심 원리 이해 1 - 순수 자바 코드로 예제 만들기 💡 본 게시글은 김영한님의 인프런(Inflearn) 강의 스프링 핵심 원리 - 기본편에 대해 공부하고, 정리한 내용입니다. 1. 스프링 프로젝트 생성 및 설정 1) 필요한 설치 항목 Java 11 IntelliJ 2) 프로젝트 생성 (1) 스프링 부트 스타터 사이트로 이동: [https://start.spring.io](https://start.spring.io] (2) 프로젝트 설정: Project: Gradle Project Spring Boot: 2.3.x Language: Java Packaging: Jar Java: 11 (3) 프로젝트 메타데이터 설정: groupId: hello artifactId: core (4) Dependencies: 선택하지 않음 3) 프로젝트 동작 확인 기본 메인 클..
01. 객체 지향 설계와 스프링 - (4) 좋은 객체 지향 설계의 5가지 원칙(SOLID) 💡 본 게시글은 김영한님의 인프런(Inflearn) 강의 스프링 핵심 원리 - 기본편에 대해 공부하고, 정리한 내용입니다. 1) SOLID (1) SOLID란? 'SOLID'라는 용어는 소프트웨어 엔지니어링의 주요 원칙들을 대표하는 약어로, 이는 로버트 C. 마틴(Robert C. Martin)이 2000년대 초기에 제시한 개념입니다. SOLID는 'Single Responsibility', 'Open-Closed', 'Liskov Substitution', 'Interface Segregation', 'Dependency Inversion'이라는 다섯 가지 핵심 원칙의 각각 첫 번째 글자들을 모아서 만들어진 단어입니다. (2) SOLID 이전의 소프트웨어 개발 방식 초기의 소프트웨어 개발 방식은 대부분..
01. 객체 지향 설계와 스프링 - (3) 좋은 객체 지향 프로그래밍이란? 💡 본 게시글은 김영한님의 인프런(Inflearn) 강의 스프링 핵심 원리 - 기본편에 대해 공부하고, 정리한 내용입니다. 1) 좋은 객체 지향 프로그래밍(OOP) 이란?(1) 객체 지향 프로그래밍컴퓨터 프로그램을 독립된 단위인 '객체들의 집합'으로 바라보는 프로그래밍 방법론입니다. 이 각각의 객체들은 서로 메시지를 주고 받으며 데이터를 처리하는 협력체를 구성하게 됩니다. 이렇게 만들어진 프로그램은 유연하게 변경이 가능하므로 대규모 소프트웨어 개발에 주로 사용됩니다.'유연하게 변경이 가능하다'는 것은, 프로그램의 개별 컴포넌트를 쉽게 수정하거나 교체할 수 있다는 의미입니다.2) 다형성(Polymorphism)(1) 다형성이란?객체 지향 프로그래밍의 중요한 원칙 중 하나로, 실세계를 역할과 구현으로 구분..
01. 객체 지향 설계와 스프링 - (2) 스프링이란? 💡 본 게시글은 김영한님의 인프런(Inflearn) 강의 스프링 핵심 원리 - 기본편에 대해 공부하고, 정리한 내용입니다. 1) 스프링 생태계 스프링 프레임워크(Spring Framework) : 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크로, 엔터프라이즈 시스템 개발의 복잡성을 낮추고 개발자가 더 효율적으로 애플리케이션을 개발할 수 있도록 지원합니다. 스프링 부트(Spring Boot) : 스프링 기반의 애플리케이션을 빠르게 구축할 수 있도록 지원하는 도구로, 복잡한 설정 없이 바로 실행 가능한 독립형 스프링 애플리케이션을 만들 수 있습니다. 스프링 데이터(Spring Data) : 데이터 접근 기술에 대한 일관된 프로그래밍 모델을 제공하며, 유연성과 강력한 저장소 접근 기능을 제공합니다. J..
01. 객체 지향 설계와 스프링 - (1) 자바 진영의 추운 겨울과 스프링의 탄생 (이야기) 💡 본 게시글은 김영한님의 인프런(Inflearn) 강의 스프링 핵심 원리 - 기본편에 대해 공부하고, 정리한 내용입니다. 1) 자바 생태계의 한겨울 2000년대 초기 자바 표준 모델로서의 EJB(Enterprise Java Bean)가 자바 개발 세계를 통치하던 시절이었습니다. 이 시대의 자바 개발자들은 복잡하고 어려운 EJB로 인해 수많은 난관에 부딪혔습니다. EJB가 자바 생태계를 독점하는 동안, 개발자들은 끊임없이 이어지는 야근을 감당해야 했고, 그들에게 허락된 위안은 커피 한 잔뿐이었습니다. 이렇게 자바 생태계는 EJB라는 거대한 독재자가 남긴 그림자 속에서 추운 겨울을 견디어 나가고 있었습니다. EJB(Enterprise Java Bean)는 스프링, JPA 등 다양한 기능들을 모두 포함한 '..