전체 글 175

Spring Framework 고급 기능 살펴보기 - Lazy initialization, Prototype, PostConstruct, PreDestroy

이번 게시글에서는 Spring Framework에서 사용할 수 있는 여러 기능에 대해서 알아보자.- Lazy Intialzation- Prototype- PostConstruct- PreDestroy가장 먼저 Lazy initialization에 대해서 알아볼 것이다.스프링의 초기화 방식에는 즉시 초기화와 지연 초기화 두 가지가 있다. default 설정은 즉시 초기화이다.오늘도 코드로 예시를 들기 위해 기반 클래스를 하나 만들어보자. 기반 클래스의 이름은 LazyInitializationLauncherApplication이라고 가정하자.그리고 이 클래스 안에 Bean 몇가지를 만들어보자.@Componentclass ClassA {}@Componentclass ClassB {}여기서 ClassB는 멤버변..

Spring Framework 의존성 주입의 다양한 유형

의존성 주입에 대해 설명하기 전에, 지금까지 배운 것들을 복습해보자.@Component 어노테이션은 스프링이 어떤 클래스를 관리해야할 대상인지 아닌지 알 수 있게 해주는 어노테이션이다. 이러한 컴포넌트들을 탐색할 범위를 정하기 위해 @ComponentScan 어노테이션을 사용했다.이렇게 코드를 작성하고, 어플리케이션을 실행하면 Spring은 가장 먼저 컴포넌트 스캔을 수행해서 찾은 컴포넌트의 의존성을 확인하고, 이에 따라 모두 와이어링 한다. 이 과정을 의존성 주입이라고 한다.Constructor-based: Dependencies are set by creating the Bean using its Constructor(recommended)Setter-based: Dependencies are set..

Spring Framework를 사용하여 Java 객체(Bean)을 생성하기

저번 시간에 다 설명하지 못한 Question 5부터 이어서 설명하겠다.Question 5: Spring is managing objects and performing auto-wiring앞선 시간에는 우리가 Bean을 수동으로 생성했다.그런데 만약 Bean을 수동으로 만들 필요가 없다면 어떨까?즉, Spring 프레임워크가 우리 대신 Bean을 생성해줄 수 있다면 어떨까, 하는 질문인데일단 질문에 답하기 전에 이를 위한 환경을 만들기 위해 Configuration 파일과 App 파일을 결합한다. 지금부터 import문은 생략하도록 하겠다.package com.in28minutes.learnspringframework;import....@Configurationclass GamingConfiguratio..

Java Spring Framework 시작하기

애플리케이션 아키텍처는 지난 20년 동안 지속적으로 발전해왔음- 기본 웹 애플리케이션 -> 웹 서비스 -> REST API -> Full Stack -> MSA이렇게 발전한 애플리케이션을 구축하는데 여러 프레임워크를 사용함.이러한 프레임워크를 사용하면 사용하지 않았을 때에 비해 훨씬 적은 코드로 많은 걸 할 수 있음.우리는 그 중 Spring과 Spring Boot에 대해 배울 것.이번 장의 커리큘럼은 아래와 같음.가장 먼저 Spring Project를 만들어 볼 것.가장 좋은 방법은 start.spring.io를 이용하는 것.이번 강의에서는 Maven Project를 이용하고 있고, Java를 사용하며(필자는 Java 17 사용), Spring Boot 3을 사용함. SNAPSHOT은 개발중인 버전으로..

Managing a Component Tree - Component to Component, Function to Function

index.jsimport React from "react";import ReactDOM from "react-dom";import App from "./components/App";ReactDOM.render(, document.getElementById("root"));//CHALLENGE: I have extracted the Input Area, including the and// elements into a seperate Component called InputArea.//Your job is to make the app work as it did before but this time with the//InputArea as a seperate Component.// DO NOT: Modif..

프로그래밍/Web 2024.05.14