Spring 기본

Ahn yi·2022년 10월 9일
0

java

목록 보기
5/22
  • 1일 1알고리즘을 목표로 했지만 되는 날에는 많이 풀고 아예 안푸는 날도 있었다. 간단한 SQL문이라도 1일 1알고리즘 풀이를 목표로 다시 정해야겠다.

이번준는 Spring에 기본이 되는 MVC패턴, IOC/DI, Bean 등을 공부했다.

MVC패턴은 Model/View/Conroller로 나뉜다.

내가 MVC패턴이란 기존에는 하나의 영역에서 처리했던 부분을, 데이터를 처리하는 영역과 Client 즉, 화면에 출력되는 영역, 그 사이의 데이터를 이어주는 영역으로 나뉘는 것이라 생각한다.
결국, 개발자들의 역할과 효과적인 유지보수를 위해 나눈 것이 MVC패턴이라고 생각한다.

IoC/DI는 각각 제어의 역전, 의존관계 주입이다.

Spring Framework의 가장 기본이 되는 내용이다. 나는 아직 이러이러하다 정도로만 이해하는 중이라 생각하고 Spring Framework 내부적으로 일을 처리해준다고 생각한다. IoC는 말 그대로 개발자가 직접 객체를 관리하지 않고 Spring Framework에게 관리를 맡기는 것이다. DI는 실행시점에 객체 간의 관계를 결정해 주는 것이다. IoC, DI는 결국, 객체 간의 결합도를 낮춰 코드 작성에 유연성을 주며, 유지 보수를 용이하게 해주는 목적이 있다고 생각한다. 간단하게 IOC/DI를 정리해둔 내용이 있다.
IoC, DI 간단 정리

기존 java에서 사용하던 객체를 Spring Framework에서 자체적으로 생성 및 관리해주는 객체를 bean이라고 한다.

기존에는 new명령어를 사용해서 객체를 생성하고 사용하는 방식이었다. 하지만 Spring Framework가 그 일을 대신하여 생성하는 객체를 bean이라고 한다. Annotation 혹은 Configuration 파일에서 bean을 등록할 수 있다. 이렇게 등록된 Spring Container에서 bean을 관리한다. 아주 간단하게 스프링 빈의 라이프 사이클 및 등록방법이다.

스프링 컨테이너 생성 -> 스프링 빈 생성 -> 의존관계 주입 -> 초기화 콜백 -> 사용 -> 소멸 전 콜백

빈 등록방법

나는 Spring Framework가 결국 유지보수를 편하게 하기 위해서 그리고, java를 더 java스럽게? 사용하기 위해 개발자들이 매번 처리해야 되는 부분을 Spring Framework가 대신 처리해 주는 것이라고 생각한다. 그렇기 때문에 눈에 보이는 것보다 내부적으로 돌아가는 개념이 많고, 그 만큼 어렵다고 생각한다.

마지막으로...

Spring기본이라고 했지만 뭐가 뭔지 모르게 빠르게 진행된 거 같다. 공부해야 될 내용이 너무 많다고 생각해서 그런거 같다. 범위를 넓게 잡고 많은 것을 배우는 것보다는 기본적인 것들 탄탄하게 배운다 생각하고 공부를 해야겠다. 다음주는 JPA, Spring Security 등에 대해 배우게 될 예정이라 개념적으로 알아야 할 게 많다고 생각된다. 어렵다 Spring...

profile
소통을 잘하고싶은 백엔드 개발자

0개의 댓글