본문 바로가기

Spring3

[Spring] @ResponseBody와 @RequestBody 스프링에서 컨트롤러를 만들고 관리 하다 보면, 데이터를 전송하거나, 받는 경우 이러한 어노테이션을 발견 할 수 있다. @RequestBody @ResponseBody 나도 처음 스프링을 공부하고 뷰에 데이터를 전달 받거나, 전달 할 때 아무 이유도 없이 그냥 그렇게 쓰라니까 썼던 것 같다. 이번 포스팅은 이 두가지에 대해 좀 정리하는 느낌으로 해야겠다. Http 구조? 서버와 클라이언트의 통신을 위해 보통은 Http 통신을 이용하는 것 같다. 자세한 구조와 동작 방식은 여기서는 다루지 않는 것이 좋을 것 같다. 간단히 Http에 대해서 위키백과에서의 정의를 인용하자면, HTTP(HyperText Transfer Protocol)는 W3 상에서 정보를 주고받을 수 있는 프로토콜이다. 주로 HTML 문서를 .. 2020. 9. 2.
[Spring] MVC 패턴 - Model1, Model2 스프링은 MVC 패턴을 따릅니다. MVC는 Model, View, Controller의 약자이며, 말 그대로 Controller, Model, View로 이루어진 구조입니다. 각 구조는 서로 상호작용을 합니다. 각 구조의 역할을 보자면 Model : 데이터를 담고 있는 객체, 주로 DB와 연관관계에 있거나, 뷰의 파라미터로 쓰인다. View : 표시하는 화면을 담당한다. 클라이언트쪽이 처리한다. Controller : 데이터 흐름과 제어를 처리하고, 이용자의 응답에 대한 처리를 담당한다. MVC 구조의 최대의 장점은 뷰의 영역과 비즈니스 로직이 분리되어 있다는 점으로, 사용자에게 보여지는 영역의 수정이 많은 점을 따져보면, 분리되어 있는 편의 장점이 크다고 한다. 솔직히 대규모 프로젝트의 경험이 없어서 .. 2020. 9. 2.
[Spring] D.I (Dependency Injection) 의존성 주입, 도대체 뭘까? (Dependency Injection) 의존성 주입? 스프링 프레임워크를 배우면서 중요한 것 중에 하나를 꼽으라고 한다면, 의존성 주입이 아닐까 싶다. 개인적으로 몰랐고, 정말 놀라운 사실은 의존성 주입이 예전에는 IOC(Inversion Of Control), 제어의 역행이라는 의미로 사용되었다는 것이다. 제어의 역행이 뭔지 간단하게 설명하자면, 객체들을 어떠한 외부의 존재로부터 관리받는, 어떻게 보면 말 그대로 객체의 관리를 외부에다가 맡기는 역행(Inversion)의 구조를 하고 있다는 것. 정확한 설명은 아니지만, 기본적으로 어떠한 객체를 외부로부터 관리 받는다고 생각한다. 예를 들면, 1 2 3 4 5 6 7 8 public class Fox { private final Fur fur; pub.. 2020. 9. 2.