본문 바로가기

Back-end

(90)
[Spring] DI(Dependency Injection) 종류는 어떤 것이 있고, 이들의 차이는 무엇인가요? DI(Dependency Injection: 의존성 주입) 외부에서 두 객체 간의 관계를 결정해주는 디자인 패턴으로, 인터페이스를 사이에 둬서 클래스 레벨에서는 의존관계가 고정되지 않도록 하고 런타임 시에 관계를 다이나믹하게 주입하여 유연성을 확보하고 결함도를 낮출 수 있게 해준다. 의존성이란 한 객체가 다른 객체를 사용할 때 의존성이 있다고 한다. 두 객체 간의 관계라는 관심사의 분리 두 객체 간의 결합도를 낮춤 객체의 유연성을 높임 테스트 작성을 용이하게 함 DI는 세가지 방법이 있습니다. 생성자 삽입, Setter를 이용한 메소드 매개 변수 삽입, 필드 주입이 있습니다. 생성자 주입: 생성자 호출 시점에 딱 1번만 호출되는 것을 보장하며, 불변, 필수 의존관계에 사용 Setter 주입: 선택, 변경..
[Spring] IoC 컨테이너의 역할 애플리케이션 실행 시점에 빈 오브젝트를 인스턴스화 한 후, DI(Dependency Injection) 한 후에 최초로 애플리케이션을 기동할 빈 하나를 제공
[Spring] Spring Bean의 Scope Bean Scope는 빈이 존재할 수 있는 범위 싱글톤: 기본 스코프로 스프링 컨테이너의 시작과 종료까지 유지되는 가장 넓은 범위의 스코프 프로토 타입: 빈의 생성과 의존관계 주입까지만 관여하여 더는 관리하지 않는 매우 짧은 범위의 스코프 request: 웹 요청이 들어오고 나갈 때까지 유지하는 스코프 session: 웹 세션이 생성, 종료할 때까지 유지하는 스코프 application: 웹 서블릿 컨텍스트와 같은 범위로 유지하는 스코프
[Spring] Spring Bean의 생성 과정 객체 생성 -> 의존 설정 -> 초기화 -> 사용 -> 소멸 Bean은 스프링 컨테이너에 의해 생명 주기를 관리 Bean 초기화 방법은 @PostConstruct 를 빈 소멸에서는 @PreDestroy를 사용합니다. 생성한 스프링 빈을 등록할 때는 ComponentScan을 이용하거나, @Configuration의 @Bean을 사용하여 빈 설정 파일에 직접 빈을 등록할 수 있습니다.
[Spring] Spring Bean이란 무엇인가요? IoC(Inversion of Control) 컨테이너 안에 들어있는 객체로 필요할 때 IoC 컨테이너에서 가져와서 사용합니다. @Bean을 사용하거나 xml 설정을 통해 일반 객체를 Bean으로 등록할 수 있습니다.
[Java] JVM의 구조와 Java의 컴파일 과정 JVM 구조 자바 가상 머신(Java Virtual Machine) 의 약자를 따서 줄여 부르는 용어로 JVM의 역할은 자바 애플리케이션을 클래스 로더를 통해 읽어 자바 API와 함께 실행하는 것입니다. 메모리 관리(GC)를 수행하며 스택 기반의 가상머신입니다. JVM의 구조는 Class Loader, Execution engine, Runtime Data Area, JNI, Native Method Library로 이루어져 있습니다. 클래스 로더(Class Loader): JVM내로 클래스를 로드하고, 링크를 통해 배치하는 작업을 수행하는 모듈 실행 엔진(Execution engine): 바이트 코드를 실행시키는 역할 인터프리터(Interpreter): 바이트 코드를 한줄씩 실행합니다. JIT 컴파일러..
[Spring] Spring DI/IoC는 어떻게 동작하나요? IoC(Inversion of Control: 제어의 역전) 은 프로그램의 제어 흐름을 직접 제어하는 것이 아니라 외부에서 관리하는 것으로 코드의 최종 호출은 개발자가 제어하는 것이 아닌 프레임워크의 내부에서 결정된 대로 이루어집니다. DI(Dependency Injection: 의존관계 주입) 은 스프링 프레임워크에서 지원하는 IoC의 형태로 클래스 사이의 의존관계를 빈 설정 정보를 바탕으로 컨테이너가 자동으로 연결해줍니다. 스프링에서는 스프링 컨테이너 Application Context를 이용하여 설정 정보를 생성, 등록하고 필요한 객체를 생성자 혹은 setter를 통해 주입합니다. https://github1s.com/ksundong/backend-interview-question
Spring boot & AJAX & Thymeleaf & JPA Spring boot & AJAX & Thymeleaf & JPA https://velog.io/@leyuri/SpringBoot-ajax-%EC%82%AC%EC%9A%A9%EB%B2%95-%EB%B0%8F-%EC%98%88%EC%A0%9C-thymeleaf SpringBoot - ajax 사용법 및 예제 (+thymeleaf) 배경 스프링 부트 개발 환경에서 ajax 사용법에 대해 공부하면서 만든 예제이다. 💪 먼저 간단히 ajax 의 개념에 대해 설명하고 만든 예제를 설명하려고 한다. Ajax ajax는 JavaScript를 사용한 비동기 velog.io