IT/스프링
MVC패턴
MVC탄생 배경 기존에 만들었던 서블릿은 모든 기능을 혼자서 처리한다. 서블릿이 데이터를 처리하고 화면을 작성하며 비즈니스 로직도 작성했다. 규모가 커지면 분업해야한다. 회사 규모가 커지면 직무별로 나누듯 개발도 기능별로 나누어야 유지보수하기 편하다. 이렇게 기능을 나눈 것을 MVC라고 한다. MODEL, VIEW, CONTROLLER라는 기능으로 분리해서 개발을 진행한다. 기존에 서블릿 혼자서 담당하던 일을 세 컴포넌트가 처리한다. 올인원 방식때보다 설계 시간은 오래 걸리지만 유지보수와 확장측면에서 큰 이점이 있다. 헷갈리기 쉬운 점 MVC모델을 봤던 사람이라면 MVC의 뜻은 안다. 하지만 서로서로 어떻게 연결이되는지, 또 M,V,C 세개의 컴포넌트인데 CONTROLLER, DAO, DTO, SERVI..
서블릿과 JDBC
서블릿 서블릿의 흐름을 최대한 이해하기 쉽게 작성하려고 노력했다. 코드영역과 설정부분은 최대한 배제하고 서블릿에서 스프링까지 디테일보다는 큰 개념을 잡는데 주력했다. 서블릿이 뭔가요? 사용자가 크롬에게 www.naver.com 입력한다. 크롬은 웹 서버에게 이 위치의 파일을 요청하고 웹 서버는 요청한 프로그램을 찾아서 작업을 수행한 뒤 그 결과를 웹 서버에게 돌려준다. 웹 서버는 HTTP형식에 맞게 크롬에게 응답하고 크롬은 사용자에게 화면을 보여준다. 웹 서버와 프로그램 사이의 데이터를 주고받는 규칙을 CGI라고 한다. CGI규칙에 따라 웹 서버와 데이터를 주고 받도록 작성된 프로그램을 CGI프로그램이라고 한다. 서블릿이란 자바로 만든 CGI프로그램이다. 서블릿 컨테이너 덕분에 개발자는 CGI규칙에 대해..
스프링: 느슨한 결합력과 DI
느슨한 결합력 Service: 사용자의 요구사항이 담기는 곳 Dao: 자바를 사용해서 Service에서 요청하는 요구사항을 전달함 (데이터베이스에 접근하여) 시나리오 사용자가 요구사항 전달함 Service가 딱 보니 Dao1로 해결가능 Dao1이 DB에 접근하여 데이터를 가져와서 Service에 전달 Service는 사용자에게 전달 사용자가 받은 후 아... 이거 조금 바꿔달라 요구함 Service는 Dao2를 생성 후 다시 사용자에게 전달 사용자가 다시 수정해달라함 반복... 수정하는 방법엔 두 가지가 존재한다. dao1코드를 수정 dao1은 그대로 두고 dao2를 생성 1번 방식은 다시 dao1이 필요한 경우 다시 수정을 해야한다 2번 방식은 service는 dao1을 가리키고 있기 때문에 servi..