250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- jquery
- v-bind
- Vue
- eslint prettier
- centerSlides
- JavaScript
- querySelector
- js
- display
- error
- swiperOption
- 인덱스
- css
- watchOverflow
- index
- slidePerView
- slidePerGroup
- slideChange
- vue2
- swiper
- classlist
- realIndex
- javascirpt
- archiver
- activeIndex
- CORS
- eslint
- loop:true
- prettier
- vscode
Archives
- Today
- Total
코딩하는 둥둥
[ Springboot ] Spring 개념잡기 : 스프링의 핵심은 무엇인가요? 본문
728x90
Spring의 핵심 9가지
1. 스프링은 Framework이다
Frame 틀 + work 동작하다 = 틀 안에서 동작하다
2. 스프링은 오픈 소스이다
소스 코드가 공개되어있다는것을 말한다
= Spring이 어떻게 만들어졌는지 내부를 볼 수 있음
즉, 내부를 뜯어고칠수 있음(고쳐서 기여contribute를 할 수 있음)
무료
3. 스프링은 IoC 컨테이너를 가진다 ★
※ IoC(Inversion of Controll = 제어의 역전 )
Class : 설계도 ( object를 만들기 위한?)
- class
- abstract class (추상 클래스)
Object : 실체화가 가능한 것
Instance : 실체화 된것
ex) 가구(추상적인 것) - 의자(objcet) / 침대(object)
제어의 역전 : 주도권을 빼았겼다. = 주도권이 Spring에 있다.
일반적으로 레퍼런스 변수 주소는 각각의 메서드가 관리함
스프링은 들고있는 수많은 오브젝트들을 class로 만들어둔 것을 스캔하고 읽어서 자기가 이 객체들을 직접 띄움(heap 메모리 공간에)
4. 스프링은 DI를 지원한다. ★
※ DI (Dependency Injection) : 의존성 주입
개발자가 아니라 spring이 object를 스캔을 해서 heap메모리 영역에 띄웠기 때문에 Spring이 관리하게 됨(IoC : 제어의 역전)
내가 원하는 모든 class의 메소드에서 heap메모리 영역에 있는 값들을 가져와서 사용할 수 있음(DI)
= 같은 "의자"를 여러곳에서 사용할 수 있음 ( 싱글톤)
→ 스캔시 딱 하나의 "의자"가 뜨고, 딱 한번 뜬 "의자"를 공유해서 사용할 수 있음
=> 필요한 곳에 가져가서 쓰는것을 DI라고 함
5. 스프링은 엄청나게 많은 필터를 가지고 있다.
6. 스프링은 엄청나게 많은 어노테이션을 가지고 있다.
7. 스프링은 MessageConverter를 가지고 있다. 기본값은 현재 Json이다.
8. 스프링은 BufferedReader와 BufferedWriter를 쉽게 사용할 수 있다.
9. 스프링은 계속 발전 중이다.
728x90
'Backend > 스프링부트 개념정리(이론)' 카테고리의 다른 글
[ Springboot ] JPA개념잡기 : 영속성 컨텍스트란 무엇인가요? (0) | 2022.02.14 |
---|---|
[ Springboot ] JPA개념잡기 : ORM이란 무엇인가요? (0) | 2022.02.11 |
[ Springboot ] JPA개념잡기 : JPA란 무엇인가요? (0) | 2022.02.10 |
[ Springboot ] Spring 개념잡기 : 메시지 컨버터가 무엇인가요? (0) | 2022.02.09 |
[ Springboot ] Spring 개념잡기 : 필터란 무엇인가요? (0) | 2022.02.08 |