
@RequestMapping은 어떤 역할을 수행하고 어떤 기능을 가지고 있는지 알아보자 @RequestMapping @RequestMapping은 단순하게 설명하자면 영단어 뜻 그대로 요청을 매핑해주는 역할을 수행하지만 이 어노테이션이 어떻게 동작하는지 깊게는 알 수 없어도 조금만 들여다보자. 아래 글에서도 다룬적이 있기때문에 아래글을 보는 것을 추천한다. Spring MVC - Dispatcher Servlet과 View Resolver Spring MVC의 구조를 깊이 있게 알기위해서는 기존의 MVC패턴의 전체 구조를 알고 이해하는 것이 도움이 될 것이다. Spring MVC의 범위는 매우크고 기능 또한 매우 많기때문에 기본 베이스 없이 Spring MV lee-dev-log.tistory.com M..

Spring MVC - Dispatcher Servlet과 View Resolver Spring MVC의 구조를 깊이 있게 알기위해서는 기존의 MVC패턴의 전체 구조를 알고 이해하는 것이 도움이 될 것이다. Spring MVC의 범위는 매우크고 기능 또한 매우 많기때문에 기본 베이스 없이 Spring MV lee-dev-log.tistory.com MVC패턴과 변천사 - 핸들러와 핸들러어댑터 패턴 적용 이전 포스팅에서는 Model개념을 적용하여 request.serAttribute로 수행하던 파라미터 값을 가져오는 것을 Model을 통해 해결함으로 Servlet에 종속성을 제거하였다. 또 뷰 리졸버를 사용해서 각 컨트롤러 lee-dev-log.tistory.com 이전 글들에서 사용했던 간단한 회원관리 ..

Spring MVC의 구조를 깊이 있게 알기위해서는 기존의 MVC패턴의 전체 구조를 알고 이해하는 것이 도움이 될 것이다. Spring MVC의 범위는 매우크고 기능 또한 매우 많기때문에 기본 베이스 없이 Spring MVC를 이해하려하면 매우 어려울 것이다. MVC패턴과 변천사 - 핸들러와 핸들러어댑터 패턴 적용 이전 포스팅에서는 Model개념을 적용하여 request.serAttribute로 수행하던 파라미터 값을 가져오는 것을 Model을 통해 해결함으로 Servlet에 종속성을 제거하였다. 또 뷰 리졸버를 사용해서 각 컨트롤러 lee-dev-log.tistory.com Dispatcher Servlet Spring MVC에서도 프론트 컨트롤러 패턴이 사용되어 프론트 컨트롤러에서 뷰 리졸버 기능, ..

스프링 컨테이너란 순수 Java만으로는 객체지향 설계원칙인 SOLID중 OCP(개방-폐쇄 원칙)와 DIP(의존관계 역전 원칙)을 지킬 수가 없게된다. OCP와 DIP를 지키기 위해서는 누군가가 객체에 의존성을 주입해주어야 하는데 그 누군가가 바로 스프링 컨테이너이다. 스프링 컨테이너는 객체를 Component(Bean)으로 만들어 직접 관리하며 객체에 의존성이 필요한 클래스에게 직접 의존성을 주입해준다 이것이 바로 DI(Dependency Injection)이다. 스프링 컨테이너를 이용하여 OCP, DIP를 완전하게 지키며 비로서 완벽한 객체지향 설계원칙을 지키게 된다. 객체지향 설계원칙을 지켜 기획, 요구사항에 변경이 발생하더라도 클라이언트 코드의 수정없이 오로지 스프링컨테이너 설정 코드(@Config..

SOLID SOLID란 Clean Code의 저자로 유명한 로버트 마틴이 정의한 좋은 객체지향 설계의 5가지 원칙을 정리한 것이다. - SRP: 단일 책임 원칙 - OCP: 개방-폐쇄 원칙 - LSP: 리스코프 치환원칙 - ISP: 인터페이스 분리 원칙 - DIP: 의존관계 역전 원칙 5가지의 원칙을 하나씩 알아가보도록 하자 단일 책임원칙 - SRP(Single Responsibility Principle) SRP는 한 클래스는 하나의 책임만 가져야 한다는 것이다. 이 말만으로는 SRP가 무엇인지 와닿지 않는데, 예를 들어서 설명해본다면 어떤 프로젝트에서 UI하나를 고쳤는데 그 안에 SQL, 로직 등 여러가지의 것들을 같이 변경해야한다면 그것은 SRP원칙이 잘 이루어지지 않은 코드이다. 즉, SRP가 잘..

스프링등장의 배경 스프링이던 어떤 기술이던 해당 기술의 핵심을 알고, 그 핵심을 이해해야한다 예를 들어서 어떤 프레임워크가 나왔다면 이 프레임워크의 등장 배경에는 무엇이 있었는가? 어떤 점이 불편해서 기존의 것을 사용하지않고 새로운 기술을 탄생하게 했는가? 등의 궁금증을 품다보면 이 기술의 등장 원인을 알게 되고 그 기술의 핵심을 알게되는 것이다. 이러한 과정으로 기술의 핵심을 알고 제대로 이해해야 비로소 이 기술을 옳바르게 사용하고 있다고 할 수 있는것이다. 그렇지 않다면 그냥 API의 사용법만 알고 사용하는 것에 그친다 본론으로 돌아와 스프링은 Java언어 기반의 프레임워크로 Java언어의 특징인 객체지향 특징을 극대화 시켜주는 프레임워크이다 즉, 좋은 객체지향 어플리케이션을 개발할 수 있도록 도와주..