본문 바로가기
Web/Java, Spring(Boot)

[Spring] Spring 특징

by ju.__.nu 2025. 7. 8.

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