[스프링부트 개념정리 with JPA] 1강

오젼·2023년 11월 15일
0

스프링부트 개념정리 with JPA 1강 - 스프링의 핵심은 무엇인가요?

Framework

스프링은 프레임워크다~
틀 + 동작하다 => 틀 안에서 동작하다. 틀을 제공해줄 테니 틀 안에서 작동할 수 있도록 만들어라.

오픈소스

스프링은 오픈소스이다~ 직접 뜯어고칠 수가 있음! contribute가 가능

IoC 컨테이너

Inversion of Control. 제어역전. 주도권이 스프링한테 있다!


이게 문제. 오브젝트를 new하면 해당 오브젝트를 new한 메서드 내에서 관리하게 됨.
메서드가 달라질 때 오브젝트들을 공유하기 어려워짐. 인스턴스가 다르기 때문에

이걸 스프링이 공유하기 쉽게 해준다는 거~~

객체의 인스턴스를 한 개만 생성되게 싱글톤 패턴으로 관리해줌.


만들어진 객체들을 스프링이 싹 스캔해서 heap에 올려줌. 내가 올리는 게 아니라 스프링이 올려주고 관리해주는 거! 제어의 역전 IoC!

class vs object vs instance

class -> 설계도
object -> 실체화가 가능한 것
instance -> 실체화 된 것

https://www.codeit.kr/community/questions/UXVlc3Rpb246NWUzNDUyMjU4MGU1MTMzNzNkOTYyMzZj
설계도(class)를 가지고 object를 만들 수 있다. 만들어진 object 하나 하나를 instance라고 한다.
자동차 설계도(class)를 가지고 자동차(object)를 만들 수 있다. 만들어진 자동차 중 내 자동 차, 다른 자동차 각각을 instance라고 한다.

DI

Dependency Injection. 의존성 주입
스프링은 싱글톤 패턴으로 객체를 구현하는데 구현된 객체를 어느 메서드에서나 사용할 수 있다.
이렇게 필요한 곳에서 가져가서 쓰는 것을 DI라고 한다.

0개의 댓글