1. Spring은 Framework
- Framework이기 때문에 정해진 틀안에서 움직인다.
2. Spring은 오픈 소스이다.
- 오픈소스이기 때문에 무료에, 필요하다면 내부 코드를 수정할 수 있다.
3. Spring은 IoC 컨테이너를 가진다.
- IoC = Inversion of Control = 제어의 역전
- 제어의 역전(주도권이 스프링) = 객체를 스프링이 관리
4. Spring은 DI를 지원한다.
- DI = Dependency Injection = 의존성 주입
- 의존성 주입 = 객체를 어디서든지 사용할 수 있게 만듬
5. Spring은 많은 필터를 가지고 있다.
- 톰켓이 가지고 있는 필터 = filter = web.xml
- 스프링이 가지고 있는 필터 = 인터셉터 = AoP
6. Spring은 많은 어노테이션을 가지고 있다. (리플렉션, 컴파일 체킹)
- 어노테이션(Annotaion) = 컴파일러가 체크할 수 있게 힌트를 주는 주석,
주로 객체를 생성하거나, IoC를 하기 위해서도 사용 (@Component/@Autowired)
- 리플렉션 = 클래스 분석 기법 → 런 타임 시 분석
7. Spring은 MessageConverter를 가지고 있다. 기본값은 현재 json
- 각 언어들이 소통할 수 잇는 중간 언어 → xml, json 등
- MessageConverter = Jaca 언어를 다른 언어로 보낼때 json으로 변경 해줌,
응답 받을 때도 외부 언어에서 Java로 바꿔줌
8. Spring은 BufferedReader와 BufferedWriter를 쉽게 사용할 수 잇다.
- 통신의 기본 단위 1byte = 8bit (2⁸=256, 모든 영어 문자를 표현 가능)
- 한글은 2byte가 중국어는 3byte가 필요 그래서 유니코드 UTF-8로 통일(3byte)
- BufferedReader = 가변 길이로 문자를 받을 수 잇게 한다.
- @ResponseBody = BufferedWriter 동작
- @RequestBody = BufferedReader 동작
'Web > Java, Spring(Boot)' 카테고리의 다른 글
| [Spring] yaml 설정 (0) | 2025.06.26 |
|---|---|
| [Spring] 패키지명을 통일해야하는 이유 (1) | 2025.06.04 |