Spring Boot 공부를 드디어 시작하였다.
스프링에서 관리하기 편하게 만들려고 만든 공유 개념
원래는 같은 요청이 들어올때마다 같은 값을 생성해서 보내줘야한다.
그런데 사용할때마다 값을 만들면 메모리 사용이 비효율적이다.
그래서 하나만 만들어두고 나누어서 사용하자.
-> 속도 빠름, 메모리 효율적
-> 구현이나 관리가 어렵다.
자바에서는 안티패턴으로 지정해두었지만
스프링에서는 기본적으로 싱글톤 패턴을 지원해준다.
이를 사용한곳이 스프링 빈이다.
빈으로 등록한것은 하나만 만들어두어도 누구나 빌려다가 쓸 수 있다.
스프링부트에서는 IOC 컨테이너에서 빈을 관리한다.
빈으로 등록하면 서버에서 동작할 때 공통저장소에 저장해준다.
스프링은 일반적으로 MVC 패턴을 사용하는데 이때 가장 많이 사용하는 빈이 Repository, Service, Controller 이다.
그래서 어노테이션을 지원해주는 것.
componentscan 이란 빈으로 등록한것을 서버 실행시 한 번 더 돌려주겠다는 뜻.
빈은 스프링 컨테이너에서 관리해준다.
스프링 IOC 의존성 주입 키워드로 더 검색해볼것!
모놀리틱 아키텍쳐
마이크로 서비스 아키텍쳐
서버에서 데이터베이스와 연관해서 작업할 때 SQL문 대신 서버 언어를 사용할 수 있도록 만들어 주는것이 ORM이라는 개념.
자바에서 사용하는 ORM 기술이 바로 JPA이다.
자바 객체 자체와 데이터베이스를 맵핑시켜주는 것.
여러 테이블을 사용하면 더 복잡한 JPA를 사용하게 될 것.
OneToMany, LeftJoin 등의 용어 공부할 것.
( ++ Hibernate 와 JPA에 대해서 설명할 수 있도록 공부해둘 것)