본문 바로가기

분류 전체보기46

[Spring] 스프링 컨테이너와 자동/수동 빈 등록 개념 정리 인프런의 김영한님의 Spring 강의를 들으며 공부한 내용을 복습 차원에서 작성한 글이다. 이번 글에서는 스프링 컨테이너와 빈 등록(자동/수동) 방법에 대해 알아보겠다. 스프링 컨테이너란? 스프링 컨테이너는 자바 객체의 생명 주기를 관리하며, 생성된 자바 객체들에게 추가적인 기능을 제공하는 역할을 한다. 여기서 말하는 자바 객체를 스프링에서는 빈(Bean) 이라고 부릅니다. 여기 글에서는 다루지 않지만, IoC와 DI의 원리가 이 스프링 컨테이너에 적용이 된다. (IoC와 DI, 제어와 역전 그리고 의존성 주입에 대해 잘 모르신다면 알아서 알아오기~) 개발자가 new 연산자, 인터페이스 호출 등등의 방식으로 객체를 생성하고 소멸시킬 수 있는데, 이 작업을 스프링 컨테이너가 대신해 줍니다. 즉, 제어 흐름.. 2024. 3. 12.
[JAVA] Lombok(롬복) 사용 - IntelliJ에서 설치 및 적용방법 Lombok(롬복) 이란? Lombok 은 자바의 Annotation processsor 라는 기능을 이용하여 컴파일 시점에 Lombok의 어노테이션을 읽어서, 다양한 메서드와 생성자를 자동으로 생성해 주는 라이브러리이다. (Getter, Setter, Equals, ToString 등과 같은 코드를 자동완성 해준다.) 쉽게 얘기하여, 개발자가 해야하는 기본적이고 반복적인 작업들을 정해진 위치에 @(어노테이션)만 붙여주면 Lombok 이 이런 일들을 대신 해주는 것이다. 이렇게 설명해도 정확이 와닿지 않을 수 있으니 아래에 글을 통해 쉽게 이해할 수 있도록 정리를 하였다. Lombok 기능에 대해 정리하기 전에 Lombok 을 설치 및 적용하는 방법에 대해 알아보자. IntelliJ(인텔리제이) Lomb.. 2024. 3. 11.
[JAVA] JVM과 자바 메모리 영역 Static, Stack, Heap JAVA 에서 사용되는 대표적인 메모리 영역에는 Static, Stack, Heap 영역이 있다. JAVA를 공부하면서 그리고 Spring 을 다루면서 기본적으로 알고 있어야 하는 개념이기에, 이 세 가지의 주요 특징과 사용되는 방식에 대해 알아보도록 하자. (실제로 Spring을 공부할 때, Static 을 함부로 쓰면 안된다고 하여 정리하게 되었다.) 우선, 메모리 영역에 대해 알아보기 전에 간단하게 JVM에 대해서 알아보고 가자. JVM 이란? JVM 이란 Java Virtual Machine의 약자이며, 자바 가상 머신이라고도 한다. Java의 바이트 코드를 해석하고 실행하는 역할을 한다. JVM 을 설치만 하면 어떠한 운영체제(OS)에서든 java 파일을 실행할 수 있다는 장점이 있다. JVM .. 2024. 3. 11.
[JAVA] 객체지향 프로그래밍의 설계원칙 - SOLID 5원칙 SOLID 5원칙 SOLID 5원칙이란 로버트 마틴이 소개한 객체지향 프로그래밍 설계의 5가지 기본 원칙을 말하며, 5가지의 앞글자를 따서 "SOLID" 라고 부르고 있습니다. • SRP : 단일 책임 원칙(single responsibility principle) • OCP: 개방-폐쇄 원칙 (Open/closed principle) • LSP : 리스코프 치환 원칙 (Liskov substitution principle) • ISP : 인터페이스 분리 원칙 (Interface segregation principle) • DIP : 의존관계 역전 원칙 (Dependency inversion principle) 단일 책임 원칙 : SRP(single responsibility principle) 단일 책.. 2024. 2. 7.
반응형